حياكم الله استاذ صالح
هذا تعديل بسيط مقترح على مثال الاستاذ ابو خليل
Private Sub Form_Timer()
DoCmd.GoToRecord , , acGoTo, Int((Me.RecordsetClone.RecordCount - 1 + 1) * Rnd + 1)
End Sub
حيث اصبح التنقل عشوائي بين 1 وعدد سجلات النموذج
تحياتي
استاذ جعفر
بما ان العملية اصبحت هي مقارنة الجداول فمارايك استخدام استعلامين بربط مصدريهما جدول النظام msysobjects واحد القاعدة الحالية والاخر البعيدة وبالمعامل طبعا in لتحديد المسار البعيد . هنا استطيع معرفة الاختلاف بطريقة استعلام وسهلة جدا
اخي اوس
هل يمكن ان يرتبط اكثر من جدول باكثر من قاعدة ؟ ام انه فقط القاعدة التي مسارها مخزن بالجدول لديك والتي امامها خيار المسار صحيح؟
تحياتي
تمام
2. مشكلة التاريخ السابق
ضع الحدث للنموذج قبل لتحديث وهكذا
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Date < DMax("dat", "Torderno") Then Cancel = MsgBox("لايمكن ... التاريخ سابق!")
End Sub
وهو نفس الفكرة بملفك ولكن باختصار وتغيير موقع الحدث
تحياتي
طيب خلينا نقسم الطلب الى
1. ترقيم يومي
جرب ان تضع التعبير التالي كتعبير لخاصية القيمة الافتراضية للعنصر
Nz(DMax("daily_serial", "Torderno", "dat=date()")) + 1
هنا سياخذ العنصر الترقيم اليومي عند فتح سجل جديد
2. عدم اضافة تاريخ سابق
خلينا نقفل نقطة 1 اولا
بالتوفيق
السلام عليكم
انا لي وجهة نظر هنا بملف الاستاذ ابو خليل الموقر
هنا ليس الاختيار عشوائيا بناء على خوارزمية معينه تحتمل التوقع قريبة للصفر
وانما احتوى الملف على خوارزمية التنقل بين السجلات مما يجعل التوقع قريب لل 100 % وهذا ينفي العشوائي
فالمسالة للوقت تدخل هنا فان اخترت في بداية الوقت ستحصل على السجلات الاولى وبالمقابل نهاية الوقت ستكون في السجلات الاخيره
وتوضيح اكثر لو نقرت البداية ثم النهايه مرتين بنفس الوقت المستغرق بين البداية والنهايه ستحصل على نفس السجل
تحياتي
شكرا اخي العزيزي جعفر
ولكن اعتقد ان التشييك على اسماء الجداو فقط لايكفي فقط تختلف الحقول مما يجعل هناك حاجة للتشييك كذلك على الحقول حسب هذه الفكرة
الفكرة التي اشارك بها هي : عمل دوران بالربط ولو حصل خطأ في اي عملية ربط يتم التراجع عن العمل والتنبيه والخروج ويمكن اصطياد الخطأ
تحياتي
السؤال لان
فرضا كتبت رقم صرف وتم ادخال 10 سجلات بالفرعي لهذا الصرف
وبعد مدة ادخلت نفس الرقم الصرف . هل تريد ان تظهر السجلات الفرعية السابقة لهذا الرقم ثم تقوم بالاكمال ؟ ام تريد عدم ظهورها ويتم الادخال بالفرعي لنفس رقم صرف سابق وكانه جديد؟
اجابة مبدئية
يمكنك وضع كود يشيك على وجود الملف بنفس الاسم وليكن باستخدام الدالة dir ويكون في نموذج البدء. فان وجد الملف او التنبيه والخروج
ام تقصد ان اسم الملف بقي نفسه ولكن المحتوى من الجداول اصبح مختلف ؟
تحياتي
معليش استعنت بالكود لسرعة
الفكره عبارة عن اضافة عمود جديد بالجدول يمثل فئه
فكل متتالي له فئة حسب الموظف . لانه يمكن ان يكون هناك اكثر من تتالي فيمثل فئه خاصه
هذا الكود والاستعام query2 بالمرفق وتستطيع تعمل معيارك زي ماتحب
Set rs = CurrentDb.OpenRecordset("select * from x order by emp_code,day_date"): rs.MoveFirst
xd = rs!day_date
xn = 1
rs.Edit
rs!ord = xn
rs.Update
For i = 2 To rs.RecordCount
rs.MoveNext
If rs!day_date - xd <> 1 Then xn = xn + 1
rs.Edit
rs!ord = xn
rs.Update
xd = rs!day_date
Next
بالتوفيق
qs.rar