الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تحديد قيمة حقل بحقل اخر في نفس الجدول

بدأه سمير1404 في 27 أكتوبر 2014 · 10 رد · 1,394 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم الى الاساتذة الكرام سؤالي يتخلص في الاتي:
* لدي جدول فيه عدة حقول منها الحقل a والحقل c......الذي اريده هو
1/ عند ادخال قيمة في الحقل c يجب ان تكون هذه القيمة قد تم ادخالها مسبقا في الحقل a واضهار رسالة بالتطابق مع مدخل سابق 
2/ اما في حال عدم تحقق الشرط السابق تظهر رسالة بانه لا يوجد مدخل سابق في a مطابق للمدخل c ...مع عدم حفظ القيمة الغير مطابقة .

وشكرا للجميع

#2

وعليكم السلام :)

 

ضع هذا الكود على الحدث "قبل التحديث" للحقل c:

if val(me.c) <> val(me.a) then
msgbox "Values are not equal"
cancel=true
else
msgbox "c=a, ok"
endif

جعفر

1
#3

اشكرك استاذ جعفر شكرا لقد تحقق ما اريده بالضبط اثمن لك مساعدتك وفقك الله 

#4

:)

1
#5

اخ جعفر ما رايك بهذا الكود

If a <> c Then
MsgBox "غير مطابق"
Me.Undo
End If

اقتباس

 

 

#6

في قانون البرمجة:

الكود و الطريقة اللي تشتغل وتعجبك ، استعملها ، والسلام :)

 

بعض الاوقات تحصل على جواب لسؤالك ، وهو عبارة عن سطر واحد ، ولكنك لا تفهم اوله ولا آخره ،

وفي نفس الوقت تحصل على جواب آخر بعدة اسطر سهلة الفهم ،

فما الذي ستستخدم :)

 

الكود اللي يريحك طبعا ، وهذا جوابي لسؤالك الحالي :)

 

 

جعفر

1
#7

اخي الغالي جعفر المثال الذي ارفقته انت هو ما قمت انا بتطبيقة واعطاني النتيجة التي ابحث عنها وانما اردت من ذلك ان تفيدني هل انا كتابتي للكود صحيحة ام بها خطاء لاني كنت اريد من الكود ان يبحث عن كل القيم في حقل a فما كان مشابها يقبله ومالم يكن مشابه لا يقبله وليس ان يشابه الحقل c مع الحقل a في نفس السجل وسوف ارفق لك مثال لتتفضل وتتكرم بالتعديل عليه بعد اذنك 

star.rar

#8

تم حذف هذه المشاركة.

 

جعفر

تم تعديل هذه المشاركة بواسطة jjafferr في 29 أكتوبر 2014 في 10:48

#9

لقيت حقل الحاله في الجدول والاستعلام ، فاضفته الى النموذج :)

 

جرب هذا الكود:

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

جعفر

308.starnet.mdb.zip

1
#10

اشكرك استاذ جعفر ولا حرمنا الله منك لقد توصلت الى النتيجة بفضل الله ثم فضلك  :)

#11

حياك الله :)

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…