انت جئت بغالب الاجابة
بالضبط كما ذكرت فعند حدث الطباعة للتقرير تنقل هذا الحدث الى حقل في جدول متمثلا في اسم التقرير وتاريخ وساعة طباعته واسم المستخدم
ان لم تتمكن من التطبيق ارفق مثالا وافيا لمساعدتك
يا هلا باخوي ابو عيسى
للعلم يمكن تطبيقها على الشهر الهجري
وطريقة عمل هذه الدالة او الدوال انها تستخرج اليوم الذي يسبق اول يوم من الشهر القادم
بمعنى انها تستخرج آخر يوم من هذا الشهر
بتوفيق الله وفضله هذه وحدة نمطية صغيرة تقوم بالطلب
Public Function MonthDays()
Dim myMonth As Long
myMonth = Month(Date)
MonthDays = Day(DateSerial(Year(Date), myMonth + 1, 1) - 1)
End Function
عدد ايام الشهر الحالي.rar
combo4 هذا الاسم لا وجود له والصحيح combo6 راجع مثالك الاول
If Combo4.Value = "" or Text2.Value = "" Then
هذه صحيحة ويمكن ان تكون هكذا
if IsNull([Combo]) Or IsNull >>>
ولكنها لن تعمل معك هنا والسبب ان الحقول غير منضمة الى جدول لذا فهي لا تحمل قيمة
ولضبط هذه العملية يجب ان تضع في القيمة الافتراضية قيمة معينة كــ "" أو صفر .... وهكذا
نلتمس لاخونا الشمال العذر فعسى المانع يكون خيرا
وبالنسبة لمثالك فاعتقد ان طريقة التطبيق لا يمكن تحققها
فأنت طلبت منع تكرار المعرف
وايضا منع تكرر ارقام متشابهه للمعرف نفسه فقط
وعند التطبيق على الواقع حسب مثالك فإنه ضمنا لا يمكن تكرار ارقام للمعرف بل لا يمكن منحه سوى رقم واحد لانه لن يملك الا سجلا واحدا في هذا الجدول
ومع هذا وضعت لك الاكواد الخاصة بمثل هذه المسألة في مثالك المرفق
the form.rar
العنوان مخالف وطبعا سيتم غلق الموضوع
يمكنك فتح مشاركة جديدة وطرح مشكلة واحدة معينة ويتم ايضاح هذه المشكلة في العنوان
فإذا حصلت على اجابة شافية يمكنك فتح مشاركة بمسألة اخرى وهكذا ...
هذه الطريقة اسرع في تلبية الطلب وانفع في تخصيص المسائل
وفقك الله لكل خير ،،،
If Combo4.Text = "" And Text2.Text = "" Then
اولا وجود اللاحقة Text تستلزم وجود التركيز على الحقل عند تنفيذ الامر فإما ان تحذف وإما ان تستبدل بالقيمة Value
الثاني انك استخدت And وهنا لن يعمل الكود حتى يكون الحقلان كلاهما فارغان
والاولى استخدام Or لاننا لن نسمح لاي واحد منهما ان يكون فارغا
اذا كانت البيانات وقتية فيمكن استخدام العبارات البرمجية لنقل القيمة من النموذج الى التقرير
اما ان كانت البيانات ثابتة ومحفوظة للرجوع اليها فيجب رصدها في الجدول
وبالنسبة لخانات الاختيار فيمكن التعبير عنها في الجدول بأرقام 1 ، 2 ، 3 والاسم التوضيحي يظهر في التقرير كترجمة للرقم عبر مربع تحرير وسرد
ارفق مثالك على اصدار 2003 مكتملا يشتمل على الجدول والتقرير مع النموذج لتطبيق الطريقة التي تريدها
كما ذكرت في مشاركتي الاولى ان الامر مقارنة بل مقابلة بين ارقام في مجلد خارجي مع ارقام ضمن جدول في قاعدة البيانات
وعند اختلال احد الطرفين لا يظهر الخلل الا بعد المقابلة مرة اخرى
تم التعديل بتحويل الكود الى وحدة نمطية عامة نستدعيها عند الحاجة
card14.rar
المشكلة تتمثل في جدول الملفات حيث يجب تفريغه من البيانات قبل جلبها مرة اخرى
ضع هذه الاسطر في أعلى الوحدة النمطية وبالضبط تحت سطر on Error
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE tbl1.*, * FROM tbl1"
DoCmd.SetWarnings True
الحل ان تجعل الاستعلام خارجي فيكون مصدرا للنموذج والتقرير معا
والطريقة عندما تفتح على مصدر سجلات النموذج وهو الاستعلام من الخصائص احفظ فقط فيأخذ صورة من الاستعلام ليضعها ضمن الاستعلامات ويسألك ان كنت تريد هذا الاخير هو مصدر السجلات وستكون الاجابة بنعم
هذه تحتاج الى اعادة فحص وتجربة للمثال
وسأعمل ذلك ان شاء الله