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

طلب مساعده في دالة dlookup خطأ لم اكتشف اين ؟؟

بدأه محمدالمهاوي في 30 يناير 2011 · 7 رد · 735 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلاام عليكم اشكركم جزيلا

عملت برنامج حضور وانصراف ضبط كل شيء لكن عندي مشكله عقدتني في البرنامج وهي كاتالي ::

البرنامج للموظفات لكل موظفه رقم عند ادخال الحضور اليومي تدخل المسؤؤوله رقم الموظفه يطلع لها اسمها وتكمل تعبئة بيانات حضورها واستئذانها او غيابها ..

المشكلة عندي اني اريد اذا الموظفة اجازة ( اجازة عادية او وضع او امومه ) اول ما المسؤله تكتب رقمها في الحضور اليومي يطلع اسمها ويتظلل كامل خانات تسجيل الحضور ويكتب في خانة ملاحظات نوع اجازتها .. وتطلع مسج بوكس بان الموظفة حاليا اجازة .. "

تعبت جدا معها مو راضيه تضبط

المشكلة انه يضلل ويطلع المسج واذا انتقلت للموظفه اللي بعدها فتح لي خانات الموظفه السابقه ومسح نوع اجازتها في ملاحظات ..

المشكلة الاخرى انه اذا انتهت اجازتها يستمر يكتب لي انها اجازة ... ماعرفت وين المشكله ...؟؟؟؟

هذا الكود اللي فيه مشكله

[CODE language="vb"]Private Sub الرقم_Afterupdate()
v1 = DLookup("[نوع الاجازة]", "vqr", [الرقم] = Me.الرقم)


d1 = DLookup("[بداية الاجازة]", "vqr", Me.التاريخ >= [بداية الاجازة] And Me.التاريخ <= [expr1] And [الرقم] = Me.الرقم)
d2 = DLookup("[expr1]", "vqr", Me.التاريخ >= [بداية الاجازة] And Me.التاريخ <= [expr1] And [الرقم] = Me.الرقم)
 If Me.التاريخ >= d1 And Me.التاريخ <= d2 And [الرقم] = Me.الرقم Then


If v = "أمومة" Then
  MsgBox "الموظفة حاليا في اجازة امومة"
 Me.الحضور.Enabled = False
 Me.الانصراف.Enabled = False
 Me.نوع_الغياب.Enabled = False
 Me.الاستئذان.Enabled = False
 Me.بدايته.Enabled = False
 Me.نهايته.Enabled = False
 Me.غياب.Enabled = False
 Me.نوع_الاستئذان.Enabled = False
 Me.اجازة = v
 Else

 If v = "عادية" Then
 MsgBox "الموظفة حاليا في اجازة عادية"
 Me.الحضور.Enabled = False
 Me.الانصراف.Enabled = False
 Me.نوع_الغياب.Enabled = False
 Me.الاستئذان.Enabled = False
 Me.بدايته.Enabled = False
 Me.نهايته.Enabled = False
 Me.غياب.Enabled = False
 Me.نوع_الاستئذان.Enabled = False
 Me.اجازة = v
 Else

 If v = "وضع" Then
 MsgBox "الموظفة حاليا في اجازة وضع"
 Me.الحضور.Enabled = False
 Me.الانصراف.Enabled = False
 Me.نوع_الغياب.Enabled = False
 Me.الاستئذان.Enabled = False
 Me.بدايته.Enabled = False
 Me.نهايته.Enabled = False
 Me.غياب.Enabled = False
 Me.نوع_الاستئذان.Enabled = False
 Me.اجازة = v
 Else
 Me.الحضور.Enabled = True
 Me.الانصراف.Enabled = True
 Me.نوع_الغياب.Enabled = True
 Me.الاستئذان.Enabled = True
 Me.بدايته.Enabled = True
 Me.نهايته.Enabled = True
 Me.غياب.Enabled = True
 Me.نوع_الاستئذان.Enabled = True
 Me.اجازة = " "

 End If
 End If
 End If
 Else

 Me.الحضور.Enabled = True
 Me.الانصراف.Enabled = True
 Me.نوع_الغياب.Enabled = True
 Me.الاستئذان.Enabled = True
 Me.بدايته.Enabled = True
 Me.نهايته.Enabled = True
 Me.غياب.Enabled = True
 Me.نوع_الاستئذان.Enabled = True
 Me.اجازة = " "

 End If
end sub

قاعدة البيانات لم استطع ارفاقها لكن هي على هذا الرابط

http://arabsh.com/je4r0sp3614l.html

...

أرجوا ممن يعرف الحل مساعدتي عاجلاااااا

#3

ودي اسدي نصيحة :

استخد كلمات ومسميات أنجليزية للحقول والجداول أفضل لك وأريح لك في كتابة الكود .

mk17481_26bccea871.gif
#4

أخي اياد شكرا لك .. لكن جربت وضعت " " ولم يتغير شيء نفس المشكلة ...

أخي فتى الوادي شكرا للنصيحه أكيد افضل لكن مشكلتي انه ممكن تمسك مكاني موظفه أخرى وصعب عليها فهم الانجليزي في حال احتاج لتعديل لاحتمالية نقلي لادارة أخرى ... لكن هل تتوقع ان المشكلة في العربي ؟؟؟ لو استخدم الاسماء بالانجليزي أفضل ؟

#5
محمدالمهاوي كتب:

أخي اياد شكرا لك .. لكن جربت وضعت " " ولم يتغير شيء نفس المشكلة ...

أخي فتى الوادي شكرا للنصيحه أكيد افضل لكن مشكلتي انه ممكن تمسك مكاني موظفه أخرى وصعب عليها فهم الانجليزي في حال احتاج لتعديل لاحتمالية نقلي لادارة أخرى ... لكن هل تتوقع ان المشكلة في العربي ؟؟؟ لو استخدم الاسماء بالانجليزي أفضل ؟

أخى محمد توضيحا لما قاله اخى فتى الوادى استخدم المسميات بالانجليزى ومن التسميه التوضيحيه للحقل اكتب الاسم بالعربى وبذلك تسهل على نفسك كتابة الاكواد وعلى غيرك بالعمل على البرنامج فى حاة انتقالك لاداره اخرى .

تقبل مرورى و تمنياتى لك وللجميع بالتوفيق

#6

بارك الله بكم جميعا وجزاكم الله كل خير ..

أخي محمد أرجو تحويل المثال للاصدار 2003 ربما نستطيع المساعدة ..

تحياتي

27169617.gif
#7

شكرا لك استاذي طالب علم على التوضيح وساعمل بنصيحتك ...

استاذي محمد ابوعدنان هذا الرابط للبرنامج على 2003

http://arabsh.com/80jr1feqlc3p.html

شكرا لك مقدما ولكل من حاول مساعدتي ... جزيتم خيرا

#8
محمدالمهاوي كتب:

شكرا لك استاذي طالب علم على التوضيح وساعمل بنصيحتك ...

استاذي محمد ابوعدنان هذا الرابط للبرنامج على 2003

http://arabsh.com/80jr1feqlc3p.html

شكرا لك مقدما ولكل من حاول مساعدتي ... جزيتم خيرا

تم استخدام الامر

DFirst(expr, domain, [criteria])

بدل الامر

DLookup(expr, domain, [criteria])

حيث الامر DFirst وظيفته قراءة أول سجل بالاستعلام وفي مثالنا سيتم قراءة السجل الأول من الاستعلام vqr وذلك لمعرفة نوع الاجازة وتاريخ انتهاء الاجازة وسوف نستخدم هذه القيم المحصلة في عملية التدقيق على دوام الموظفة .

تحياتي ..

m2_up.zip

تم تعديل هذه المشاركة بواسطة محمد أبو عدنان في 7 فبراير 2011 في 21:47

27169617.gif

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

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

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

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

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