-
Posts
10009 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
408
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
ربط الجداول لمسار المبرمج ، ثم اعادة ربطها بمسار المستخدم
jjafferr replied to jjafferr's topic in قسم الأكسيس Access
اخوي ابوخليل ، ويقول المثل قديم البريسم ولا جديد الصوف 🙂 خلينا نشوف الكود لوسمحت علشان اطبق واجرب 🙂 جعفر -
المرفق موجود في المشاركة الاولى ، في آخر سطر
-
تحويل قيمة من جدول رواتب من عمودي الى افقي
jjafferr replied to ابو هاله النبلسي's topic in قسم الأكسيس Access
السلام عليكم 🙂 ابو عبدالرحمن ، يا ريت تعطينا مرفق فيه مجموعة بيانات في الاكسس ، والطريقة التي تريد البيانات تكون في الاكسل ، لأني مو قادر افهم المطلوب من المرفقات وكل مرفق فيه جزئية من الموضوع !! جعفر -
إنشاء QR CODE داخل مربع نص يدعم اللغة العربية
jjafferr replied to صالح حمادي's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته 🙂 اهلا وسهلا بك في المنتدى ، وللاستفادة القصوى من المنتدى ، رجاء مراجعة قوانين المنتدى: اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة بشرائك النسخة الاصلية من الموقع الذي اشر اليه الاستاذ صالح او تقدر تستخدم طريقة اخرى: . جعفر -
ربط الجداول لمسار المبرمج ، ثم اعادة ربطها بمسار المستخدم
jjafferr replied to jjafferr's topic in قسم الأكسيس Access
لا وانت الصادق ، اضطر افكر بهذه الطرق لإنجاز عملي 🙂 لهذا السبب ترى انه ما عندي مشاركات في اخفاء خلفية الاكسس ، او طرق الحمايات ، او ... ، بينما تخصصي في التعامل مع البيانات 🙂 اخوي موسى ، اليك آخر تحديث للموصوع ، وطريقة عملي: لما استلم برنامج جديد مجزأ الى واجهة وخلفية: في الواجهة FE ، امسك مفتاح الشفت وافتح الواجهة في وضع التصميم ، ثم اضع الكائنات التالية: الجدول tbl_ReLink_To_Original (تم عمل تغييرات على الجدول في المرفق) ، مع حذف جميع بياناته ، الماكرو Autoexec ، مع تغيير اسم اول نموذج يتم فتحه ، الوحدة النمطية basJStreetAccessRelinker وبدون المساس بها ، الوحدة النمطية m_Arc_Subs ، مع مراعاة استخدام النسخة الاحدث من الدالة f_ReLink_To_Original (انظر الكود في الاسفل) ، واضافة الدالة الجديدة f_Original_DB_Path_Append ، الدالة الجديدة f_Original_DB_Path_Append تقوم بجميع الخطوات اليدوية التي شرحتها في اول مشاركة ، وتقوم بإدخال مسارات الجداول المرتبطة في VBA في نافذة immediate اكتب (لاحظ ان علامة الاستفهام بالانجيزي) ?f_Original_DB_Path_Append اغلق البرنامج بعد حفظ كل شيء اعلاه ، افتح البرنامج بدون مسك مفتاح الشفت ، وسيسألني البرنامج عن مسار الجداول ، واخبره عن المسار ، ويشتغل البرنامج بالبيانات ، اقوم بجميع التعديلات/الزيادة المطلوبة ، وبعد كل تعديل اغلق البرنامج ، ثم استخدم البرنامج في الرابط التالي ، حتى ينظف برنامجي ويعمل لي نسخة احتياطية (وكثر ما اقول ، ما اوفي البرنامج حقه ، فكثير من الاحيان وبعد ايام او اشهر ، اضطر للرجوع الى احد النسخ القديمة والذي كان فيه كود قديم يشتغل ، ولكني استبدلته بكود جديد وظهر به اخطاء) : وفي النهاية اضغط البرنامج وارسله لصاحبه ، لما صاحبه يفتحه ، تلقائيا البرنامج يفتح بالطريقة العادية وبدون تدخل المستخدم في اي شيء 🙂 هذا هو الكود المعدل: Public Function f_ReLink_To_Original(Optional Seq As Integer = 1) On Error GoTo err_f_ReLink_To_Original ' ' this Function runs from startup, from AutoExec Macro. ' ' The client have his own path to the linked BE tables, ' yet for Development when we want to do changes and modifications on the FE, ' we want to link this FE to our local BE tables, for testing, ' and when we are done, we will send this FE back to the client, which will have our BE path, and that is the problem !! ' ' The Developer: ' since this Function runs from startup, but will NOT find the client BE, ' then the startup will run the Function jstCheckTableLinks_Full, which will prompt for the new BE path, and Link the FE to the BE. ' ' So I added a table tbl_ReLink_To_Original to the FE, and the path to the client BE path, as Seq = 1 , ' and for the Developer BE, the Seq is Not 1. ' ' for the Development BE path, we can run the DB normally, ' and the Function jstCheckTableLinks_Full will prompt asking for the BE path (since the DB will NOT find the BE from this Function), ' ' Or, if entered the DB while holding the Shift key, we can: ' call this Function, from the immediate window: ' ?f_ReLink_To_Original(2) ' ' or call this Function from any Event: ' Call f_ReLink_To_Original(2) ' ' ' The Client: ' And when the FE goes to the client, this Function will call Seq = 1 by default, thus returning their correct Path. ' ' ' by jjafferr ' ' v1.0, 24-Feb-2020 , One BE ' v2.0, 10-Jul-2020 , Multiple BEs ' v2.1, 13-Jul-2020 , Multiple BEs, but each table should be connected to it's owen BE !! ' , the table might be in different BE, so this way we connect it to the right BE ' Dim db As DAO.Database Dim tdf As DAO.TableDef Dim rst As DAO.Recordset Set db = CurrentDb 'assuming it is the Client, loop through his BE path Set rst = CurrentDb.OpenRecordset("Select [tbl_Name], [DB_Path] From tbl_ReLink_To_Original Where [Seq]=" & Seq) For Each tdf In db.TableDefs ' Only make a change if the table is a linked table If Len(tdf.Connect) Then rst.FindFirst "[tbl_Name] = '" & tdf.Name & "'" tdf.Connect = ";DATABASE=" & rst![DB_Path] tdf.RefreshLink ' if the table is not found in the DB Path, the Function will generate error 3011 End If 'Len Next Exit_f_ReLink_To_Original: rst.Close: Set rst = Nothing Exit Function err_f_ReLink_To_Original: If Err.Number = 3170 Then 'MsgBox "رجاء التاكد من مسار القاعدة الموجوده في الجدول" & vbCrLf & "tbl_ReLink_To_Original" 'Resume Next Resume Exit_f_ReLink_To_Original ElseIf Err.Number = 3011 Or Err.Number = 3044 Then 'this Table belonges to another DB, ignore, 'as the other DB Path will be checked too Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_f_ReLink_To_Original End If End Function Public Function f_Original_DB_Path_Append() Dim mySQL As String DoCmd.SetWarnings False mySQL = "UPDATE tbl_ReLink_To_Original SET Seq = 5, Remarks = 'A different BE Path was added' WHERE Seq=1" DoCmd.RunSQL mySQL mySQL = "INSERT INTO tbl_ReLink_To_Original ( DB_Path, tbl_Name, Seq, Remarks )" mySQL = mySQL & " SELECT Database, Name, 1, 'Client'" mySQL = mySQL & " FROM MSysObjects WHERE Flags = 2097152 ORDER BY Database" DoCmd.RunSQL mySQL DoCmd.SetWarnings True End Function جعفر Relink Tables.zip -
ياااه ، ذكرتني بأيام زماااان 🙂 وانت الصادق مبدع وعبقرى وفنان المهم اني اعرف ان المقصود هو جعفر 🙂
-
دكتور حلبي 🙂 راح اخبرك سر ، وبس اخبره للعزيزين 🙂 تأكد من ان لغة لوحة المفاتيح باللغة العربية عند النسخ . وكذلك عند اللصق 🙂 جعفر
-
1. هذا الشيء مو ممكن يصير ، لأن طلبك سابقا كان يستثني بيانات النموذج اليسار من اليمين ، فالنموذجين ما يمكن يكون فيها نفس البيانات !! 2. اذا قصدك انه اذا لم توجد بيانات في النموذج اليمين (لأن كلها صارت في النموذج اليسار) ، فهنا تستطيع استعمال الكود الذي اقترحه اخونا @ابو نزار ، طبعا مع مراعاة اسماء الاستعلامات التي استعملها في الكود اعلاه ، لتلائم مسميات برنامجك 🙂 جعفر
-
عفوا هذا اسم الحقل في الاستعلام: استعمال صفر للحقل الفارغ ABC_1: nz([abc],0) استعمال فراغ "" للحقل الفارغ ABC_1: nz([abc],"") جعفر
-
وعليكم السلام ورحمة الله 🙂 اخي الفاضل اهلا وسهلا بك في المنتدى ، وللاستفادة من المنتدى ، رجاء قراءة قوانين المنتدى: اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة تم حذف رابط المشاركة ، حيث برنامج كاسبرسكاي قال بأن الموقع به برامج مؤذية ، كما ان حجم البرنامج اقل من 3 ميجا ، فلهذا السبب فبإستطاعتك ان ترفقه هنا في المنتدى. جعفر
-
عند فتح قاعدة بيانات من قاعدة بيانات اخر
jjafferr replied to hamdynose's topic in قسم الأكسيس Access
رجاء مراجعة هذا الرابط ، فيه الاكواد المطلوبة جعفر -
وعليكم السلام 🙂 الامر الذي يحول الحقل Null الى صفر هو NZ ، هكذا : استعمال صفر للحقل الفارغ nz([abc],0) استعمال فراغ "" للحقل الفارغ nz([abc],"") . ولكن لا ادري اذا هذا جواب لسؤالك !! جعفر
-
بناء قاعدة بيانات عهدة أجهزة من الصفر(الجداول)
jjafferr replied to samisalim's topic in قسم الأكسيس Access
الطريقة هي في المادة رقم 2 من الرابط جعفر -
مشكلة في التقرير حقل محسوب يعطي رموز
jjafferr replied to Tarekfathallah's topic in قسم الأكسيس Access
حياك الله 🙂 في الواقع الحل هو نفسه الذي قدمه احوي @Ahmed_J ، ولكنه خانه التعبير ، فبدل ان يتأكد من قيمة المقام (القيمة المقسوم عليها ، التي في الاسفل) ، تأكد من قيمة البسط (القيمة المقسوم يها ، التي في الاعلى) 🙂 جعفر -
مساعدة في استدعاء كود من نموذج فرعي بواسطة النموذج الرئيسي
jjafferr replied to ازهر عبد العزيز's topic in قسم الأكسيس Access
وعليكم السلام 🙂 هل انت طالب او مدرس ، لأن اسألتك تدور حول بديهيات الاكسس ، كأنها دروس 😁 عملت تغيير في النموذج ، فاصبحت الازرار . اول 3 ازرار ترسل البيانات مباشرة من النموذج الرئيسي لحقول النموذج الفرعي : Private Sub cmd_xr_Click() 'عند الضغط على الزر في النموذج الرئيسي xr Me.fx!x = "xr" Me.fx!x1 = 2 Me.fx!x2 = 4 Me.fx!x3 = 1 Me.fx!x4 = 0 End Sub Private Sub cmd_xm_Click() 'عند الضغط على الزر في النموذج الرئيسي xm Me.fx!x = "xm" Me.fx!x1 = 2 Me.fx!x2 = 4 Me.fx!x3 = 1 Me.fx!x4 = 0 End Sub Private Sub cmd_xn_Click() 'عند الضغط على الزر في النموذج الرئيسي xn Me.fx!x = "xn" Me.fx!x1 = 2 Me.fx!x2 = 4 Me.fx!x3 = 1 Me.fx!x4 = 0 End Sub . الزرين الاخيرين ، ننادي دالتين في النموذج الفرعي : Private Sub cmd_xs_Click() Call Form_fx.Enter_xs End Sub Private Sub cmd_Subform_Event_Click() Call Form_fx.I_am_MsgBox End Sub . نعمل دوال في النموذج الفرعي ، ولكي نستطيع ان نراها/نقرأها من خارج النموذج ، يجب ان نستعمل Public : Public Sub Enter_xs() Me.x = "xs" Me.x1 = 2 Me.x2 = 4 Me.x3 = 1 Me.x4 = 0 End Sub Public Sub I_am_MsgBox() MsgBox "قيمة x تساوي" & vbCrLf & Nz(Me.x, "") End Sub . جعفر 1482.fyfx.accdb.zip -
طلب للتعديل على كود (بداية ونهاية الشهر بناءا على قيمه (رقم)
jjafferr replied to عمر ضاحى's topic in قسم الأكسيس Access
انت ما سامع ان العين تعشق قبل القلب 🙂 لهذا السبب ، انا كمبرمج بدل ان اقرأ تفاصيل كل سطر في الكود ، هناك دلالات تخلي الحاسة السابعة تشتغل ، وبنظرة سريعة اقدر اميز كود عن كود ، لذا هاي احدها اللي تخليني على الطاير اعرف معناها 🙂 لا تؤثر على الاداء 🙂 جعفر -
مشكلة في التقرير حقل محسوب يعطي رموز
jjafferr replied to Tarekfathallah's topic in قسم الأكسيس Access
وعليكم السلام 🙂 يجب تعديل مصدر بيانات الحقل text37 الى : اذا قيمة حقل البنزين = 0 اذا اردت قيمة الحقل text37 = "" =IIf([fuel]=0,"",[text35]*20/[fuel]) اذا اردت قيمة الحقل text37 = 0 =IIf([fuel]=0,0,[text35]*20/[fuel]) . قد تضطر الى استعمال الفاصلة المنقوطة ; بدلا عن الفاصلة في الكود اعلاه. والنتيجة جعفر -
طلب للتعديل على كود (بداية ونهاية الشهر بناءا على قيمه (رقم)
jjafferr replied to عمر ضاحى's topic in قسم الأكسيس Access
السلام عليكم اخوي موسى 🙂 انا ، وعلشان الوضوح اني انادي دالة : بدل firstAndLastDay Me.txtMonthNo استعمل call firstAndLastDay (Me.txtMonthNo) حعفر -
بناء قاعدة بيانات عهدة أجهزة من الصفر(الجداول)
jjafferr replied to samisalim's topic in قسم الأكسيس Access
هلا والله اخوي ابوخليل 🙂 انا وياك متفقين دائما ان شاء الله 🙂 بالنسبة للنقطة 4 ، فنعم لو فيه برواز للنموذج الامامي ، فستكون محتويات النموذج واضحة بانتمائها لهذا النموذج ، وبالنسبة للالوان ، فلون الخط الازرق الفاتح ، يحتاج معالجة شوي ، وطبعا اتفق معاك ان يكون لجميع النماذج طابع واحد ، من مكان قفل النموذج ، الى سجل جديد ، ووو واما شديد ، فظاهره الشدة وداخله اللين 🙂 راحت الشدة ، واختربت القضية ، الآن اخونا سامي بيلعب على كيفه ، وخلينا نحسب كم هدف بيجيب 😁 جعفر -
وعليكم السلام ورحمة الله 🙂 اهلا وسهلا بك في المنتدى ، وللاستفادة القصوى من المنتدى ، رجاء مراجعة قوانين المنتدى: اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة بما انك طالب ، اذن خليني اشرح لك ، وانت تعمل الباقي للحصول على النتيجة ادناه 🙂 . 1. اعمل استعلام خاص للنموذج الذي على اليسار ، ولنحفظه باسم qry_Left ، واجعل هذا مصدر بيانات النموذج الذي على اليسار ، 2. اعمل استعلام خاص للنموذج الذي على اليمين ، ولنحفظه باسم qry_Right ، واجعل هذا مصدر بيانات النموذج الذي على اليمين ، 3. في الاستعلام qry_Right ، في معيار الحقل Employee_Name ، سنكتب (لا يوجد Not In) اننا لا نريد الاسماء من الاستعلام qry_Left ، وهذا هو المعيار: not in(Select Employee_Name From qry_Left) 4. اغلق كل شيء ، وافتح من جديد ، وسترى النتيجة اعلاه 🙂 جعفر
-
حياك الله اخوي خالد ، واهلا وسهلا بك في المنتدى ، وللاستفادة القصوى من المنتدى ، الرجاء قراءة قوانين المنتدى: اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة احنا في المنتدى نأخذ راحتنا ، وبعض الاوقات نمزح كما رايت في مشاركتي 🙂 للجواب على سؤالك : 1. رجاء فتح موضوع جديد ، وتشرح فيه المطلوب ، 2. يجب ان ترفق بيانات حتى يعطيك الاعضاء جواب لبياناتك ، واذا لم تعطي بيانات ، فليس عدلا ان يعملون هم بيانات لك !! 3. رجاء ، اخبرنا كيف يجب ان تكون النتيجة النهائية (من بياناتك) ، سواء عن طريق ملف اكسل او وورد. 4. نحن مبرمجين ، ونعم هناك محاسبين معنا ، فلا تتوقع منا معرفة الطريقة المحاسبية لحل الموضوع ، وانما سنحل لك الموضوع برمجيا كالمثال الذي سترفقه من المادة 3 اعلاه 🙂 جعفر
-
-
عند فتح قاعدة بيانات من قاعدة بيانات اخر
jjafferr replied to hamdynose's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته 🙂 اضف هذا السطر في نهاية الكود (هكذا موجود في كود كتبته يوم من الايام ، بس ما فيه ملاحظة في الكود ، فلا اعرف اذا يعمل العمل الذي تريده) : app.UserControl = True جعفر -
بناء قاعدة بيانات عهدة أجهزة من الصفر(الجداول)
jjafferr replied to samisalim's topic in قسم الأكسيس Access
وعليكم السلام 🙂 1. لازلت تستخدم بعض الصور المضمنه ، بدل ان تربطها عند حدث تحميل النموذج ، 2. هناك نموذج لا توجد طريقة لإغلاقة ، 3. الالوان وحجم الخط والوان الخط ، مو مناسبين لي (يا اخي انا حر في مزاجي 😁) ، 4. لما تفتح نموذج ، ويكون امام نموذج آخر ، فيكون فيه تلاحم وتخالط في الالوان ، بينما احب ان يكون النموذج ظاهر وواضح بشخصيته ، 5. النموذج frmReceive&Return ، اسمه غلط ، فلا يجب استعمال علامة & في الاسم ، وكذلك فيه اخطاء ، فإذا ما كنت تريده ، احذفه او اعمل على الاسم علامة مثل frmReceive&Return_OLD وبالتالي تعرف انك استبدلته بنموذج آخر ، وانك تحتفظ به مؤقتا ، 6. صحيح تقدر تستعمل Me.Filter ، ولكن تجربتي جعلتني انتقل الى فلتر/تصفية الاستعلام ، والسبب انك يجب ان تتأكد ان Me.Filter فارغ وقت فتح النموذج ، بينما اذا كان عندك Filter ثم فتحت النموذج في وضع Layout ، فان الاكسس يحفظ معلومات الفلتر ضمن النموذج (نفس الشيء بالنسبة للصور كذلك) ، ويجب عليك حذفه وحفظ النموذج مرة اخرى ، 7. انا مو من محبي Set fso = CreateObject("scripting.filesystemobject") إلا في حالات نادرة (مثل لمعرفة مسار سطح المكتب) ، لأنك تضيف اوامر خارجية على الاكسس ، بينما هناك اوامر من الاكسس نفسه لمعظم اوامر fso (لا تنسى ، كل امر في الكود يستهلك قوة من المعالج CPU ويأخذ حيز من الذاكرة المؤقته RAM ، فلماذا هذه الاضافة) ، 8. اذا بتجعل هذا البرنامج في شبكة ، ويكون فيه واجهة على كل كمبيوتر ، وتكون الجداول على السيرفر/الشبكة ، ففي نفس السيرفر او مسار الجداول نضع مجلد الصور ، فعليه الامر Application.CurrentProject.Path يعطيك مسار الواجهة وليس الجداول ، وللحصول على مسار الجداول ، انظر هنا : جعفر -
وعليكم السلام 🙂 حسب نتيجة بحثي الآن ، ممكن واحد من هذه الاسباب ، وطبعا يجب ان تكون في وضع التصميم : اذا لما تنقر على زر الخصائص ، يتحول لونه الى برتقالي (او ممكن عن طريق لوحة المفاتيح Alt + Enter) ، فممكن المشكلة (اترك الزر ولونه برتقالي) : 1. نافذة الخصائص ممكن تكون على يمين او يسار الشاشة ، فيجب تغيير دقة الشاشة وتكبيرها ، ثم ستراها ، فقم بسحبها الى منتصف الشاشة وقم بتصغيرها للحجم المناسب ، 2. اذا لم تراها ، فقد يكون حجمها صغير جدا ، لذا انقر على زر الخصائص عدة مرات وحاول ان ترى اي نقطة في الشاشة ، وتستطيع تكبيرها. 3. اضغط على Alt Space S واستعمل الاسهم لتكبير وتوسيع العرض والارتفاع (لا تخاف في ان تعمل العرض كبير ، بعدين تقدر تضبطه) وتحريك الفأرة الى منتصف الشاشة واضغط على الزر Enter. اما اذا نقرت على زر الخصائص ولم يتحول لونها برتقالي ، او لم يستجيب الزر ، فقد يكون هناك كود يقوم بتوقيف القوائم ، فاعمل التالي حتى تظهرها: افتح نافذة الكود بالمفاتيح Ctrl + G وفي اسفل النافذة ، في نافذة immediate window . اكتب التالي ، ثم اضغط على زر Enter في لوحة المفاتيح (اكتب اول سطر ثم اضغط Enter ، ثم احذف الموجود واكتب السطر التالي واضغط Enter ، ثم احذف الموجود واكتب السطر التالي واضغط Enter) فالمفروض ان تظهر نافذة الخصائص في اعلى يسار الشاشة : CommandBars("Property Sheet").Enabled = True CommandBars("Property Sheet").Top = 0 CommandBars("Property Sheet").Left = 0 . واذا كذلك لم تظهر نافذة الخصائص ، اكتب التالي في immediate window CommandBars("Property Sheet").Position =msoBarTop ثم اضغط على زر Enter في لوحة المفاتيح ، وستأتيك نافذة ، انقر على No (واذا لم يحدث شيء ، جربها مرة اخرى ، وهذه المرة انقر على Yes) جعفر