Bshar قام بنشر نوفمبر 18, 2025 قام بنشر نوفمبر 18, 2025 السلام عليكم ,, زملائي الاكابر اريد مساعده في التنقل بين السجلات فيي النموذج الفرعي (بدون امر Requery) لانه بيعمل مشاكل في الارقام وشكرا انا عملت طريقه بالتنقل Me.ek = Me.ek - 1 DoCmd.Requery -------- Me.ek = Me.ek - 1 DoCmd.Requery ولكن بتعمل مشاكل بالارقام عند التنقل او البحث مرفق test.accdb
تمت الإجابة Foksh قام بنشر نوفمبر 19, 2025 تمت الإجابة قام بنشر نوفمبر 19, 2025 (معدل) وعليكم السلام ورحمة الله وبركاته .. بعد الإطلاع مرتين على الملف المرفق وطريقة عملك عليه ، جرب الحدثين التاليين في الأزرار .. Private Sub a1_Click() Dim curID As Long Dim nxt As Variant If Nz(Me.ek, "") = "" Then curID = Me.no_rece + 1 Else curID = CLng(Me.ek) End If nxt = DMin("no_rece", "enar_dman", "no_rece > " & curID) If Not IsNull(nxt) Then Me.ek = nxt Me.Requery Else MsgBox "لا يوجد سجل تالي", vbInformation + vbMsgBoxRight, "" End If End Sub Private Sub a2_Click() Dim curID As Long Dim prv As Variant If Nz(Me.ek, "") = "" Then curID = Me.no_rece - 1 Else curID = CLng(Me.ek) End If prv = DMax("no_rece", "enar_dman", "no_rece < " & curID) If Not IsNull(prv) Then Me.ek = prv Me.Requery Else MsgBox "لا يوجد سجل سابق", vbInformation + vbMsgBoxRight, "" End If End Sub طبعاً قد تحتاج لزر "سجل جديد" إذا كان النموذج الحالي إدخال البيانات . وهذه الفكرة بدلاً من التكرار للحدثين في الزرين ،يمكن دمجهم في دالة واحدة والإستدعاء فقط من خلال الزرين يميز السابق والتالي :- Private Sub a1_Click() GoToRecord True End Sub Private Sub a2_Click() GoToRecord False End Sub Private Sub GoToRecord(isNext As Boolean) Dim curID As Long Dim newID As Variant Dim fld As String: fld = "no_rece" If Nz(Me.ek, "") = "" Then If isNext Then curID = Me(fld) + 1 Else curID = Me(fld) - 1 End If Else curID = CLng(Me.ek) End If If isNext Then newID = DMin(fld, "enar_dman", fld & " > " & curID) Else newID = DMax(fld, "enar_dman", fld & " < " & curID) End If If Not IsNull(newID) Then Me.ek = newID Me.Requery Else If isNext Then MsgBox "لا يوجد سجل تالي", vbInformation + vbMsgBoxRight, "" Else MsgBox "لا يوجد سجل سابق", vbInformation + vbMsgBoxRight, "" End If End If End Sub test.zip تم تعديل نوفمبر 19, 2025 بواسطه Foksh إضافة فكرة تقلل التكرار .. 1
منتصر الانسي قام بنشر نوفمبر 19, 2025 قام بنشر نوفمبر 19, 2025 بالإضافة إلى ماذكره الأخ @Foksh يمكنك العمل برقم السجل بدلا من رقم الحساب مرفق لك مثالك بعد التعديل حيث قمت بإضافة مربع نص يظهر رقم السجل الحالي ويمكنك إدخال رقم السجل المطلوب للإنتقال إليه مباشرة بالإضافة إلى زري تنقل قمت بإنشائهما عن طريق المعالج بشكل طبيعي تحياتي test.accdb
Bshar قام بنشر نوفمبر 19, 2025 الكاتب قام بنشر نوفمبر 19, 2025 السلام عليكم ,, اعتذر منكم جدا جدا على التاخير اخي @منتصر الانسي شكرا لك ولمشاركتك بارك الله بك وزادك علما ,, ولكن لم تنجح الفكره لانني بحاجه لجميع حقول الاستعلام في الجدول وليس فقط حق الرقم والتاريخ , عند اضافة باقي الحقول في استعلام الجدول الخاص بالنموذج لا يتم التنقل بين السجلات . اخي وصديقي الطيب @Foksh احسنت العمل تم بشكل جيد جدا مع العلم انه لازال في خانة المسميه ek الخاصه بالبحث امر Requery ولكن يعمل بشكل جيد , كل الاحترام والتقدير لك فوووكش ❤️ 1 1
الردود الموصى بها
انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد
يجب ان تكون عضوا لدينا لتتمكن من التعليق
انشئ حساب جديد
سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .
سجل حساب جديدتسجيل دخول
هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.
سجل دخولك الان