السلام عليكم الى الاساتذة الكرام سؤالي يتخلص في الاتي:
* لدي جدول فيه عدة حقول منها الحقل a والحقل c......الذي اريده هو
1/ عند ادخال قيمة في الحقل c يجب ان تكون هذه القيمة قد تم ادخالها مسبقا في الحقل a واضهار رسالة بالتطابق مع مدخل سابق
2/ اما في حال عدم تحقق الشرط السابق تظهر رسالة بانه لا يوجد مدخل سابق في a مطابق للمدخل c ...مع عدم حفظ القيمة الغير مطابقة .
وشكرا للجميع
تحديد قيمة حقل بحقل اخر في نفس الجدول
وعليكم السلام :)
ضع هذا الكود على الحدث "قبل التحديث" للحقل c:
if val(me.c) <> val(me.a) then msgbox "Values are not equal" cancel=true else msgbox "c=a, ok" endif
جعفر
اشكرك استاذ جعفر شكرا لقد تحقق ما اريده بالضبط اثمن لك مساعدتك وفقك الله
:)
اخ جعفر ما رايك بهذا الكود
If a <> c Then
MsgBox "غير مطابق"
Me.Undo
End If
اقتباس
في قانون البرمجة:
الكود و الطريقة اللي تشتغل وتعجبك ، استعملها ، والسلام :)
بعض الاوقات تحصل على جواب لسؤالك ، وهو عبارة عن سطر واحد ، ولكنك لا تفهم اوله ولا آخره ،
وفي نفس الوقت تحصل على جواب آخر بعدة اسطر سهلة الفهم ،
فما الذي ستستخدم :)
الكود اللي يريحك طبعا ، وهذا جوابي لسؤالك الحالي :)
جعفر
اخي الغالي جعفر المثال الذي ارفقته انت هو ما قمت انا بتطبيقة واعطاني النتيجة التي ابحث عنها وانما اردت من ذلك ان تفيدني هل انا كتابتي للكود صحيحة ام بها خطاء لاني كنت اريد من الكود ان يبحث عن كل القيم في حقل a فما كان مشابها يقبله ومالم يكن مشابه لا يقبله وليس ان يشابه الحقل c مع الحقل a في نفس السجل وسوف ارفق لك مثال لتتفضل وتتكرم بالتعديل عليه بعد اذنك
لقيت حقل الحاله في الجدول والاستعلام ، فاضفته الى النموذج :)
جرب هذا الكود:
Private Sub RR_BeforeUpdate(Cancel As Integer)
On Error GoTo err_RR_BeforeUpdate
Dim rst As DAO.Recordset
Dim i, FoundIt As Integer
Set rst = Me.RecordsetClone
rst.MoveLast: rst.MoveFirst
For i = 1 To rst.RecordCount
If Me.RR = rst!docID Then
MsgBox "Found an Equal empl_num"
FoundIt = 1
End If
rst.MoveNext
Next i
If FoundIt = 1 Then
rst.MoveLast: rst.MoveFirst
For i = 1 To rst.RecordCount
If Me.RR = rst!docID And rst!الحالة= "وارد" Then
MsgBox "Found وارد"
Exit Sub
End If
rst.MoveNext
Next i
End If
Cancel = True
Me.Undo
Exit Sub
err_RR_BeforeUpdate:
If Err.Number = 3021 Then
'No Records
Exit Sub
Else
MsgBox Err.Number & vbCrLf & Err.Description
End If
End Subجعفر
اشكرك استاذ جعفر ولا حرمنا الله منك لقد توصلت الى النتيجة بفضل الله ثم فضلك :)
حياك الله :)