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

سؤال هل يمكن عمل تاريخ متسلسل

بدأه عبده الطوخى في 25 يوليو 2010 · 9 رد · 658 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الاخوة الاعزاء اقوم الان بعمل برنامج تسجيل الحضور والانصراف مثل حضور ، مبيت ، راحة ، اجازة ، غياب ، مرضى

واريد ان اقوم بكتابة التاريخ مثل 20/07/2010 وانزل للسجل التالى الاقى يوم 21/07/2010 وهكذا الى ان انتهى من التسجيل

ولكم جزيل الشكر

#2

يمكنك أخي أن تستخدم مثل هذا الكود في حدث BeforeInsert للنموذج:

Me.tstDate = DateAdd("d", 1, Nz(DMax("tstDate", "tblTest"), Date))

حيث tblTest هو اسم الجدول، وtstDate هو اسم حقل التاريخ، والله أعلم.

#3

اخى العزيز جربت الكود الذى ارسلته ولكنى لم اجد الحدث BeforeInsert مفيش غير الحدث BeforeUpdate

ارجو التوضيح وشكرا على المساعده

#4

اخى العزيز شكرا لقد وجدت الحدث (Private Sub Form_BeforeInsert(Cancel As Integer

ولكن بعد كتابة التاريخ والنزول الى السجل التالى يغير التاريخ الذى تم تسجيله مثال عند كتابة تاريخ 20/07/2010 يجعله 21/07/2010 لنفس السجل الذى تم كتابتة

وانا اريد ان اكتب التاريخ مثال 20/07/2010 وانزل السجل التالى الاقى تاريخ 21/07/2010 موجود بالفعل دون كتابتة لان تدوين التاريخ لكل موظف مرهق جداً

ولكم الشكر والاحترام

#5

أخي الكريم،

حدث BeforeInsert للنموذج يحدث فوراً عند الشروع في إدخال سجل جديد، وذلك بالبدء في الكتابة في أي حقل... يبدو أن حقل التاريخ عندك هو أول حقل تبدأ فيه الكتابة، لذلك لن يتم تعيين التاريخ المطلوب إلا عند الكتابة فيه. لو كان أول حقل هو حقل آخر، لظهرت القيمة المطلوبة في حقل التاريخ فوراً....

على كل حال، هذا نفس الكود تقريباً في حدث آخر Current للنموذج يقوم بنفس العمل تماماً، فقط بعد أن يتأكد أن السجل الحالي هو سجل جديد:

Private Sub Form_Current()
    If Me.NewRecord Then Me.tstDate = DateAdd("d", 1, Nz(DMax("tstDate", "tblTest"), Date))
End Sub

والله أعلم.

تم تعديل هذه المشاركة بواسطة أحمد مبارك الحيقي في 25 يوليو 2010 في 14:15

#6

اخى العزيز يبدو انى ارهقتك بكثرة اسئلتى لذا سوف اقوم بارفاق قاعدة البيانات حيث ان النموذج المطلوب التعديل فيه Over_Time1 وارجو من الاخوه الاعزاء مراجعة قاعدة البيانات لمعرفة الاخطاء الموجودة وشكرا

برنامج الموظفين.rar

#7

أخي الكريم، يمكنك استخدام نفس الطريقة السابقة، لكن الخطأ عندك في تسمية حقل الجدول، إذ أنه في الجدول عندك (Date)، وقد كتبته في دالة DMax بالشكل txtDate... جرب هذا:

Private Sub Form_Current()
    If Me.NewRecord Then Me.txtDate = DateAdd("d", 1, Nz(DMax("Date", "OverTime_Record"), Date))
End Sub

فقط...

ملحوظة: تجنب تسمية الحقول بأسماء كلمات محجوزة مثل أنواع بيانات أو أسماء دوال...

تم تعديل هذه المشاركة بواسطة أحمد مبارك الحيقي في 26 يوليو 2010 في 14:12

#8

اخى العزيز احمد

انا اسف تعبتك معايا

انا جربت كل الطرق ولك تنجح معى هل يمكن عمل هذا التعديل فى قاعدة البيانات لكى اعرف اين الخطأ الذى اقع فيه وعدم تكراره

#9

لا بأس أخي الكريم، هذا هو الملف المرفق بعد التعديل الطفيف، في نموذج OverTime1 النموذج الفرعي OverTime_Record

...

في انتظار نتيجة تجربتك...

برنامج الموظفين.rar

#10

شكرا لك اخى العزيز / احمد مبارك على النتيجة المذهلة بالفعل

بعد ما جربت البرنامج لقيت الحل كما هو المطلوب لك كثير الشكر والاحترام

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…