لا اعلم ان كانت هناك حلول حسب طريقتك
ولكني وحسب رأيي ارى تحويل الفرق الى دقائق فقط والتعامل معها كأرقام لارجاعها مرة اخرى منفصلة
وللتحويل تستخدم هذه الصيغة داخل الاستعلام حتى يصبح حقل عدد ساعات التأخر منضما
Expr2: IIf(DateDiff("n";[timestart];[التأخر])<=0;0;DateDiff("n";[timestart];[التأخر]))
واستخدام iif الشرطية حتى يتم تخطي الحضور المبكر
ثم تحول مجموع الارقام الى ايام وساعات ودقائق مع ملاحظة وجوب استبعاد الدالات المستخدمة
انت جئت بغالب الاجابة
بالضبط كما ذكرت فعند حدث الطباعة للتقرير تنقل هذا الحدث الى حقل في جدول متمثلا في اسم التقرير وتاريخ وساعة طباعته واسم المستخدم
ان لم تتمكن من التطبيق ارفق مثالا وافيا لمساعدتك
يا هلا باخوي ابو عيسى
للعلم يمكن تطبيقها على الشهر الهجري
وطريقة عمل هذه الدالة او الدوال انها تستخرج اليوم الذي يسبق اول يوم من الشهر القادم
بمعنى انها تستخرج آخر يوم من هذا الشهر
بتوفيق الله وفضله هذه وحدة نمطية صغيرة تقوم بالطلب
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