خالد عبد الغفار قام بنشر يوليو 10, 2018 قام بنشر يوليو 10, 2018 تفضل هذا النموذج المضبوط انظر الى الحقول كلها بمسمياتها عفوا هذا هو النموذج خالد.rar
حمدى الظابط قام بنشر يوليو 10, 2018 الكاتب قام بنشر يوليو 10, 2018 استاذ خالد النموذج الخاص بى يعمل معى بكفاءة ولكن عند وضع كود استاذى القدير والكريم جعفر تعارض الكودين وحدث خطأ لذلك ارفقة النموذج للاستاذ جعفر للعمل عليه واكتشاف السبب واشكرك على المساعدة ولك تحياتى وفى انتظار العملاق لحل اللغز jjafferr@
jjafferr قام بنشر يوليو 10, 2018 قام بنشر يوليو 10, 2018 وعليكم السلام اخي حمدي ، 1. نت غيرت حدث "قبل التحديث" ، بدل ان يكون للحقول ، جعلته للنموذج ، والعمل اختلف كليا !! 2. وحدة الافلات هي التي كانت المشكلة ، وليس الكود الذي اعطيتك ، 3. انت نسيت ان تنسخ سطر Exit Sub للكود !! على العموم ، تفضل: Private Sub Form_BeforeUpdate(Cancel As Integer) On Error GoTo err_chk_BeforeUpdate Dim ctl As Control Dim rst As DAO.Recordset Dim dbs As DAO.Database Dim fName As String: Dim myCriteria As String Dim A0 As String: Dim A1 As String: Dim A2 As String 'Set ctl = Me.ActiveControl Set ctl = ctlDrop fName = "[" & Mid(ctl.Name, 1, Len(ctl.Name) - 1) & "-مادة" & Right(ctl.Name, 1) & "]" '[الاثنين-مادة1] myCriteria = "[" & ctl.Name & "]=" & Chr(39) & ctl.Value & Chr(39) 'A0 = DLookup(ctl.Name, "Teacher Class", myCriteria) 'A1 = DLookup(fName, "Teacher Class", myCriteria) 'A2 = DLookup("[NAMEe]", "Teacher Class", myCriteria) Set dbs = CurrentDb Set rst = dbs.OpenRecordset("Select * From [Teacher Class] Where " & myCriteria) A0 = rst(ctl.Name) A1 = rst(fName) A2 = rst!NAMEe ' If A0 > 0 Then Beep If MsgBox("...هذا الفصل " & ctl.Name & "..لديه مادة.." & vbCrLf & _ " باسم : " & A1 & vbCrLf & _ " للمدرس : " & A2, _ vbYesNo + vbCritical + vbMsgBoxRight, "تنبيه") = vbNo Then Me.Undo Cancel = True End If ' End If Exit_chk_BeforeUpdate: rst.Close: Set rst = Nothing: dbs.Close Exit Sub err_chk_BeforeUpdate: If err.Number = 3021 Then Resume Next Else MsgBox err.Number & vbCrLf & err.Description End If End Sub جعفر 1
حمدى الظابط قام بنشر يوليو 11, 2018 الكاتب قام بنشر يوليو 11, 2018 الله عليك استاذ جعفر مجهود راقى ورائع مشكور عليه وشرح تعليمى ممتاز بعد التجربة يعمل السحب والافلات ممتاز ممتاز ممتاز ويعمل بلا مشاكل على الاطلاق ولكن ماذا اذا المستخدم لم يستخدم السحب والافلات واستخدم تدخل البيانات يدوى فى الحقول مثال يوم الاحد الحصة الاولى مكررة عند استاذ ياسر مادة دراسات واستاذة نادية لغة عربية اريد عند الضغط على حقل الحصة الاولى وعند ظهور فصل 1/1ب يظهر لى رسالة التعارض دون استخدام السحب والافلات حتى يستخدم النموذج بكلا الطريقتين بالسحب والافلات او يدوى وهناك رسائل تظهر الاولى تقول لا يتم العثور على العنصر فى هذه المجموعة 3265 والرسالة الثانية abject variable with variable not set 91 ومرفق النموذج لمعرفة سبب ظهور الرسائل ولك من الشكر الجزيل ومن العرفان المزيد ومن الاحترام الكثير jjafferr@ جدول الحصص.rar
jjafferr قام بنشر يوليو 16, 2018 قام بنشر يوليو 16, 2018 وعليكم السلام بما انك عملت تغيير في الكود الاصل ، واللي كان تابع لحدث "قبل التحديث" الحقول ، فيجب ان نُرجع الكود ، بحيث انه يخاطب كود "قبل تحديث النموذج" ، وبدل ان اضيف الكود لكل حقل ، اعمل التالي: اختار الحقول التي يجب على البرنامج يتأكد منها (كما في الصورة ادناه) ، ثم في الحدث "قبل التحديث" لهذه الحقول ، ننادي الوحدة النمطية chk_BeforeUpdate (رجاء كتابة اسم الوحدة النمطية كما تراها في الصورة ادناه) ، هكذا : . وعليه ، فيجب علينا إضافة الوحدة النمطية الجديدة ، وعمل تعديل بسيط على الكود الاصل ، ليصبحا هكذا : Function chk_BeforeUpdate() Call Form_BeforeUpdate(0) End Function Private Sub Form_BeforeUpdate(Cancel As Integer) On Error GoTo err_chk_BeforeUpdate Dim ctl As Control Dim rst As DAO.Recordset Dim dbs As DAO.Database Dim fName As String: Dim myCriteria As String Dim A0 As String: Dim A1 As String: Dim A2 As String If Left(Me.ActiveControl.Name, Len("TextBox")) <> "Textbox" Then Set ctl = Me.ActiveControl Else Set ctl = ctlDrop End If fName = "[" & Mid(ctl.Name, 1, Len(ctl.Name) - 1) & "-مادة" & Right(ctl.Name, 1) & "]" '[الاثنين-مادة1] myCriteria = "[" & ctl.Name & "]=" & Chr(39) & ctl.Value & Chr(39) 'A0 = DLookup(ctl.Name, "Teacher Class", myCriteria) 'A1 = DLookup(fName, "Teacher Class", myCriteria) 'A2 = DLookup("[NAMEe]", "Teacher Class", myCriteria) Set dbs = CurrentDb Set rst = dbs.OpenRecordset("Select * From [Teacher Class] Where " & myCriteria) A0 = rst(ctl.Name) A1 = rst(fName) A2 = rst!NAMEe ' If A0 > 0 Then Beep If MsgBox("...هذا الفصل " & ctl.Name & "..لديه مادة.." & vbCrLf & _ " باسم : " & A1 & vbCrLf & _ " للمدرس : " & A2, _ vbYesNo + vbCritical + vbMsgBoxRight, "تنبيه") = vbNo Then Me.Undo Cancel = True End If ' End If Exit_chk_BeforeUpdate: rst.Close: Set rst = Nothing: dbs.Close Exit Sub err_chk_BeforeUpdate: If err.Number = 3021 Then Resume Next Else MsgBox err.Number & vbCrLf & err.Description End If End Sub . اما بالنسبة الى رسائل الخطأ التي تكلمت عنها ، فلا علم لي بها , ولم تظهر لي. جعفر جدول الحصص.zip 1
حمدى الظابط قام بنشر يوليو 16, 2018 الكاتب قام بنشر يوليو 16, 2018 استاذ جعفر بجد انت انسان ذو خلق وعلم وزوق وشرحك وافى ومنسق ومنظم وعند التجربة النمودج يعمل سليم وصحيح فى المرفق الخاص بحضرتك ولكن عند التجربة على النموذج الخاص بى يعمل جيدا الا عند السحب والافلات فى اى حقل من حقول المادة فقط يعطى رسالة العنصر غير موجود والسحب والافلات فى الفصل يعمل جيدا وسليم مثال للتوضيح اسحب اى مادة واوضعها فى اى حقل من حقول المادة بالجدول تظهر لحضرتك الرسالة ولم اعرف سببها مرفق الملف واعتذر على ما سببته لك من ضيق وجعلك الله لنا فى الارض عونا تقبل تحياتى jjafferr@ جدول الحصص.rar
jjafferr قام بنشر يوليو 16, 2018 قام بنشر يوليو 16, 2018 انا لم انزل مرفقك ، فالكود السابق لم يكن يعمل على المادة اصلا !! جرب الكود التالي Private Sub Form_BeforeUpdate(Cancel As Integer) On Error GoTo err_chk_BeforeUpdate Dim ctl As Control Dim rst As DAO.Recordset Dim dbs As DAO.Database Dim fName As String: Dim myCriteria As String Dim A0 As String: Dim A1 As String: Dim A2 As String If Left(Me.ActiveControl.Name, Len("TextBox")) <> "Textbox" Then Set ctl = Me.ActiveControl Else Set ctl = ctlDrop End If 'fName = "[" & Mid(ctl.Name, 1, Len(ctl.Name) - 1) & "-مادة" & Right(ctl.Name, 1) & "]" '[الاثنين-مادة1] fName = "[" & Mid(ctl.Name, 1, Len(ctl.Name) - 1) & Right(ctl.Name, 1) & "]" myCriteria = "[" & ctl.Name & "]=" & Chr(39) & ctl.Value & Chr(39) Debug.Print "Select * From [Teacher Class] Where " & myCriteria 'A0 = DLookup(ctl.Name, "Teacher Class", myCriteria) 'A1 = DLookup(fName, "Teacher Class", myCriteria) 'A2 = DLookup("[NAMEe]", "Teacher Class", myCriteria) Set dbs = CurrentDb Set rst = dbs.OpenRecordset("Select * From [Teacher Class] Where " & myCriteria) A0 = rst(ctl.Name) A1 = rst(fName) A2 = rst!NAMEe ' If A0 > 0 Then Beep If MsgBox("...هذا الفصل " & ctl.Name & "..لديه مادة.." & vbCrLf & _ " باسم : " & A1 & vbCrLf & _ " للمدرس : " & A2, _ vbYesNo + vbCritical + vbMsgBoxRight, "تنبيه") = vbNo Then Me.Undo Cancel = True End If ' End If Exit_chk_BeforeUpdate: rst.Close: Set rst = Nothing: dbs.Close Exit Sub err_chk_BeforeUpdate: If err.Number = 3021 Then Resume Next Else MsgBox err.Number & vbCrLf & err.Description End If End Sub واستخدم الطريقة اللي اخبرت في الصورة في مشاركتي السابقة ، على بقية حقول المادة في النموذج ايضا. جعفر 1
حمدى الظابط قام بنشر يوليو 17, 2018 الكاتب قام بنشر يوليو 17, 2018 استاذ جعفر بارك الله فى حضرتك سوف يتم التجربة وافيك بالنتيجة واشكرك على انك تحملتنى ولم تمل وصباحك ايمان وطاعة الرحمن jjafferr@
حمدى الظابط قام بنشر يوليو 17, 2018 الكاتب قام بنشر يوليو 17, 2018 استاذ جعفر الحمد الله بعد وضع الكود الاخير واتباع ما ذكر من شرح النموذج يعمل بصورة جيدة والنتائج صحيحة وسليمة ولكن هل فى امكانية ان الحقل الفارغ الغير مشغول بمدرس او فصل يكون لونه اخضر حتى يسهل على المستخدم التوزيع لان اذا تم التوزيع بهذه الصورة سوف يتم ظهو ر الرسالة فى كل حقل يتم فيه تسجيل فصل او مادة لاكتشاف اذا كان هذا الحقل مشغول ام لا وهذا يرهق المستخدم واعتذر عن كتر طلباتى ولكن اعلم قدر من اتحدث معه علميا كاخبير ومتمرس ولك تحياتى jjafferr@
jjafferr قام بنشر يوليو 17, 2018 قام بنشر يوليو 17, 2018 وعليكم السلام 1. تختار جميع الحقول ، 2. تختار لون الخلفية الذي تريده اذا كان الحقل فيه قيمة ، وهنا انا اخترت الاخضر ، وتلون الحقول كلها ، . 1. واثناء اختيار جميع الحقول ، 2. انقر على زر التنسيق الشرطي ، 3. ادخل هذه القيمة ، و ضع الرمز ' مرتين (يعني هذا ليس الرمز " ) . والنتيجة: . وللأمانه العلمية ، فانا اتبعت الطريقة من هذا الرابط: https://stackoverflow.com/questions/10703461/is-null-conditional-formatting-ms-access-forms جعفر
حمدى الظابط قام بنشر يوليو 17, 2018 الكاتب قام بنشر يوليو 17, 2018 استاذ جعفر كل ما دخل الرمز فى التسيق الشرطى يرفض الرمز jjafferr@
حمدى الظابط قام بنشر يوليو 17, 2018 الكاتب قام بنشر يوليو 17, 2018 استاذ جعفر اشكرك تم عمل ما تفضلت به من شرح ولكن ليس هذا هو المطلوب المطلوب ان يكون الحقل لم يتم اشغاله نهائيا من اى مدرس او فصل اى عند السحب والافلات لم يكن الحقل له فصل او مدرس فيطهر بالون الاخضر jjafferr@
jjafferr قام بنشر يوليو 18, 2018 قام بنشر يوليو 18, 2018 طلبك غير واضح!! وعلى العموم ، نحن بهذه الطريقة خرجنا عن اصل الموضوع الذي تم الوصل لحل له ، فرجاء تعمل لك موضوع جديد ، ولكن اشرح فيه المطلوب وبالتفصيل ، وبمثال جعفر 1
حمدى الظابط قام بنشر يوليو 18, 2018 الكاتب قام بنشر يوليو 18, 2018 حاضر واشكرك على توجدك وحضورك الانيق
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.