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

*كود* كود للتحقق اذا كان السجل موجود

مغلق
بدأه محمد طاهر في 28 أكتوبر 2002 · 6 رد · 4,719 مشاهدة · في قسم الأرشيف و المواضيع المميزه
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

موصوع منقول من المنتدي القديم

الكاتب: محمد مسلم

كود للتحقق اذا كان السجل موجود

--------------------------------------------------------------------------------

كود للتحقق اذا كان السجل موجود

هذا كود يمكنك من معرفة اذا كان السجل موجود مسبقا قبل ادخاله مره اخرى ويمكنك من الاستمرار اولغاء الاجراء

يكتب الكود في حدث بعد التحديث للحقل الرئيسي مثل ( الرقم او الاسم ) وعند وجود السجل يعطي رسالة للاستمرار او الغاء التحديث .والحقيقه ان لست خبير بالاكود ولكن مشاركة بسيطه مني لهذا المنتدى الذي استفدت منه الكثير وان كان هناك تعديل من الاخوه واعتقد انه يحتاج بعض التعديل .

ملاحظة : الكود يبحث في حقل ( الاسم ) ويمكن تغييره الى أي حقل حسب الرغبه

    If Me.NewRecord = True Then

        Dim strWhere As String, strMessage As String

        strWhere = "الاسم = '" & Me!الاسم & "'"

        Me.RecordsetClone.MoveFirst

        Me.RecordsetClone.FindFirst strWhere

        Do Until Me.RecordsetClone.NoMatch



                strMessage = "يوجد سجل مطابق مدخل مسبقاً..هل ترغب المتابعه؟ "

               lResponse = MsgBox(strMessage, vbYesNo + vbQuestion, strTitle)

                If lResponse = vbNo Then

                Cancel = True



                DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo

                Me.Undo

                Me.Bookmark = Me.RecordsetClone.Bookmark

               Exit Sub

           End If

            Me.RecordsetClone.FindNext strWhere

        Loop

    End If

--------------------------------------------------------------------------------

الكاتب: محمد مسلم بتاريخ: 8/25/2002 9:08:20 AM

اضف للمفضلة

--------------------------------------------------------------------------------

كود ممتاز

بعد مراجعة الكود لاحظت أنه يعمل حلقة تكرارية لإظهار الرسالة عندما يجد الاسم متكرر على حسب عدد مرات تكرار الاسم .

جرب نقر نعم وستستمر الرسالة في الظهور وهذا التكرار لاداعي له في رأيي .

الكود بعد تعديله :

If Me.NewRecord = True Then
        Dim strWhere As String, strMessage As String

        strWhere = "[الاسم] = '" & Me![الاسم] & "'"
        Me.RecordsetClone.MoveFirst
        Me.RecordsetClone.FindFirst strWhere
        If Me.RecordsetClone.NoMatch = False Then
          strMessage = "يوجد سجل مطابق مدخل مسبقاً..هل ترغب المتابعه؟ "
               lResponse = MsgBox(strMessage, vbYesNo + vbQuestion, strTitle)
                If lResponse = vbNo Then
                Cancel = True
                DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo
                Me.Undo
                Me.Bookmark = Me.RecordsetClone.Bookmark
                End If
End If
End If

وللجميع تحياتي

--------------------------------------------------------------------------------

الكاتب: ابوحمود.

#2

الإخوة الأفاضل :- أبو حمود ، محمد طاهر

جربت الكود أعلاه فتظهر لي رسالة خطأ

run time error

لايوجد سجل حالي . ويشير معالج تصحيح الخطأ إلى وجود خطأ في السطر

Me.RecordsetClone.MoveFirst

ولاأدري أين المشكلة عندي أم في الكود .

رررجاء المساعدة ، حيث أن هذا الأمر يهمني جداً ويهم على ما أعتقد جميع المبتدئين في هذا المنتدى .

شكررررراً

#3

الاخ عابد ضع هذا الكود في حدث بعد التحديث للحقل المراد

وغير الاسماء فيه حسب ما لديك

If (Eval("DLookUp(""[اسم الحقل]"",""[اسم الجدول]"",""[اسم الحقل] =form![اسم الحقل]"") Is Not Null")) Then

Beep

MsgBox "هذا الرقم مكرر لقد تم تسجيله من قبل في قاعدة البيانات هذه ؟ سيتم مسح الرقم"

DoCmd.CancelEvent

  Forms![اسم النموذج]![اسم الحقل] = Null



End If

SendKeys "{f2}", False
#4

نجحت الطريقة ومن أروع مايكون ، شكراً أخي الفاضل / الهاجري ، ولاأنسى أستاذنا الفاضل/ محمد طاهر .

شكراً للجميع .

#5

هذه الحاله نجحت وذلك عند اظافة بيانات احد الاشخاص

ولكن السؤال هو >>>>

عند الرغبه في عرض بيانات احد الاشخاص وتم الاستعلام عنه بالرقم مثلا ولم يجد له بيانات مدخله

فما هو الكود او الاجراء لاظهار رساله تدل على عدم وجود بيانات لهذا الشخص

مرفق مثال يوضح ذلك ولكم خالص شكري وتحياتي

test.zip

#6

السلام عليكم

اخي الفاضل مرشد المبتدئين

هذا كود قد وضعة الاخ مصلح الحريصي في مشاركه سابقه

في المنتدى القديم يوضع في حدث عند فتح النموذج

If RecordsetClone.RecordCount = 0 Then

MsgBox "لا يوجد بيانات ", vbInformation + vbMsgBoxRight, ""

DoCmd.CancelEvent

End If

وهذا مثالك مطبق عليه الكود ايهما تختار طال عمرك :D

test.rar

#7

بارك الله فيك

وأسأل الله لك التوفيق

ولك من خالص قلبي الشكر والتقدير

كما واسال الله العلي القدير ان يجزي اخي مصلح الحريصي خير الجزاء وان يجعلها في ميزان اعمالكم

وحقيقة ان كثير من الاخوان دائما يتسألون عنها والحمد لله وصل الحل

هذا الموضوع مغلق.

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