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

مساعدة في تعديل استعلام

مغلقمُجابرائج
بدأه SANDANET في 7 مايو 2014 · 69 رد · 2,582 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#51

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

عند تسجيل اجازة رسمية جديدة في تاريخ مثلاً من 15/512014 الى 17/5/2014 فإنها لاتسجل في جدول ال record لانها عطلة طبعاً وهذا كلام سليم لكن المشكلة ان الكود يسجل أول يوم من اللاجازة الرسمية ويسجل فيها غياب اول موظف موجود في جدول الموظفين فكيف يحدث هذا؟؟  

 

ملاحظة: سجلت الاجازة الرسمية من خلال فوم off بنجاح وقمت بالتأكد منها في جدول الاجازات الرسمية فماهي المشكلة يا أستاذ أمير؟ 

 

أرجو الإطلاع على المرفق 

 

تحياتي

za-Example-UP.zip

تم تعديل هذه المشاركة بواسطة SANDANET في 17 مايو 2014 في 21:25

#52

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

عند تسجيل اجازة رسمية جديدة في تاريخ مثلاً من 15/512014 الى 17/5/2014 فإنها لاتسجل في جدول ال record لانها عطلة طبعاً وهذا كلام سليم لكن المشكلة ان الكود يسجل أول يوم من اللاجازة الرسمية ويسجل فيها غياب اول موظف موجود في جدول الموظفين فكيف يحدث هذا؟؟  

 

ملاحظة: سجلت الاجازة الرسمية من خلال فوم off بنجاح وقمت بالتأكد منها في جدول الاجازات الرسمية فماهي المشكلة يا أستاذ أمير؟ 

 

أرجو الإطلاع على المرفق 

 

تحياتي

ملفات مرفقة

 

za-Example-UP.zip

تم تعديل هذه المشاركة بواسطة SANDANET في 17 مايو 2014 في 21:27

#53

تمام

كويس أنك عاجلت مشكلة تسجل اجازة الموظف

وبالنسبة للأجازة الرسمية سوف أسهر عليها إن شاء الله

#54

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

#55

أكثر من ساعة أعمل في قاعدة البيانات ثم اكتشفت أنها ليست آخر نسخة معدلة

وهذا بسبب تشابه الأسماء

لذلك قمت بإعادة التسمية والترقيم

 

جرب تسجيل الاجازة الرسمية مرة أخرى ولكن تجنب أن تكون الاجازة الرسمية يومي الجمعة والسبت

وجرب تسجل الاجازة بعد انقضائها ربما يعمل الكود الجديد

وربنا يسهل

 

Attendance record 1.rar

#56

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

#57

هل من جديد بخصوص كود تعديل إجازة الموظف بعد انقضائها يا أستاذ أمير؟

#58

ههههه

يا باشا أنا أصلا منتظرك

آخر مرة قلت سيادتك أنك هتجرب المزيد

 

على العموم الموضوع متوقف على متغير اسم الموظف الذي لا يعمل

سأحاول التعديل إن شاء الله

#59

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

#60

كل المحاولات باءت بالفشل

جداول وجدولنا

استعلامات واستعلمنا

نماذج ونمذجنا

مفيش فايدة

الاعتماد على الاسم عامل مشكلة في المتغير table ! field

 

لذلك :

نعتمد على التوافق بين كود الموظف في جدول الموظفين وبين كوده في جدول الاجازات

وعليك العمل على التسجيل الصحيح لكود الموظف بجدول الاجازات.

 

وجرب تحديث البيانات للأجازات المنقضية

وراجع الأكواد والجداول

لأني غيرت في كام اسم لبعض الحقول

 

وبالمناسبة :

في برنامجك القادم إن شاء الله تجنب المسميات المحجوزة  للكائنات سواء جداول أو حقول أو مربعات نص أو غيرها مثل :

name , date , from , to , screen , table , com , time

وغير ذلك

 

جرب ولا تصدمني بالنتيجة

 

Attendance record 2.rar

#61

الله يبارك فيك أخي أمير على جهودك الجبارة هذه لقد قمت بتجربة الكود وهو يعمل بصورة جيدة لكن لدي استفسار بسيط وهو عند تحديث بيانات الاجازة المنقضية لموظف ما فإن الكود يقوم بالتحديث لجميع الموظفين لماذا؟؟ يعني لو افترضنا ان لدينا الموظف احمد اجازته تبدأ من يوم 3/5/2014 لعند 5/5/2014 وهي اجازة مسجلة مسبقاً في جدول record ولدينا اجازة رسمية تصادف يوم 5/5/2014 لغاية يوم 7/5/2014 وهي ايضاً مسجلة مسبقاً في جدول record  لذلك سنجد ان اجازة الموظف احمد تبدأ من تاريخ 4/5/2014 وهذا طبيعي لان يوم 3/5/2014 يصادف يوم اجازة رسمية ..لكن عند تسجيل اجازة منقضية لموظف اخر فإن التحديث يسجل اجازة هذا الموظف في جدول record مع تحديث اجازة الموظف احمد ايضاً لذلك نرى ان يوم 3/5/2014 اصبح مسجل فيه اجازة الموظف احمد مع ان هذا اليوم هو يوم اجازة رسمية المفروض يبقى بدون تغيير .. لتبسيط الصورة اقترح ان يتم التعديل على كود تحديث بيانات الاجازة المنقضية للموظف ليعمل على تحديث اجازة الموظف المختار فقط ..ارجو ان تكون الفكرة واضحة ولك مني جزيل الشكر

#62

وضع بيانات مثل :

يحصل الموظف على أجازة في يوم 5/5/2014 وهي أصلا أجازة رسمية هذا شيئ غير وارد

كما أنه اذا حدث يجب تعديل الكود بالطبع

 

سأجرب وأخبرك

#63

أخي أمير صح ان عملية تسجيل اجازة موظف في يوم يكون فيه اجازة رسمية هو شيء غير وارد لكن هناك احتمالية ان يقوم المسؤول سهواً بتسجيل ذلك ..لذلك نحن من واجبنا كمصممين هو الحفاظ على صحة البيانات في الجدول لذلك وجب ان نراعي حدوث مثل هذه الاحتمالات ..والنقطة الأهم هي ان عملية تحديث البيانات لا يجب ان تتم لكل الموظفين بل فقط للموظف الذي سجلنا اجازته المنقضية .. تحياتي لك :D   

تم تعديل هذه المشاركة بواسطة SANDANET في 20 مايو 2014 في 21:17

#64

اممممم

ممكن نفكر في طريقة لحل خطأ المستخدم

 

لكن الأهم هي النقطة الثانية :
 

اقتباس

(عملية تحديث البيانات لا يجب ان تتم لكل الموظفين بل فقط للموظف الذي سجلنا اجازته المنقضية)

 

 

المشكلة أن تسجيل الاجازة المنقضية جربته أكثر من مرة ويعمل بلا مشاكل

فأين الخطأ ؟ ومتى يحدث ؟

#65

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

 

انا استخدمت نفس الدالة لكن غيرت فيها كلمة مجاز الى اجازة ملغية كالتالي ..  

 

ملاحظة: وجدت الكود هذا في الدالة cv1 = DCount("id", "vacation") وقد قمت بتغييره الى cv1 = DCount("id", "emp_vacation") لكن لست متأكداً اذا كان تغييري صحيح لم لا 

 

Dim ii, iii, cv1, cv2, vdate
Dim B1, B2, A1, A2, v1, v2  As Recordset
Set v1 = CurrentDb.OpenRecordset("SELECT * FROM emp_vacation ;")
Set v2 = CurrentDb.OpenRecordset("SELECT * FROM record ;")
cv1 = DCount("id", "emp_vacation")
vdate = Nz(v1!from, 0)
If v1.EOF Then
Else
v1.MoveFirst
For iii = 0 To cv1
vdate = Nz(v1!from, 0)
cv2 = DateDiff("d", v1!from, v1!To) + 1
''''' start: أول يوم
For ii = 0 To cv2
If vdate >= v1!from And vdate <= v1!To Then
Dim db As Database
DoCmd.SetWarnings False
DoCmd.RunSQL ("UPDATE record SET attends = 'اجازة ملغية' WHERE record!date = #" & Format(vdate, "yyyy/mm/dd") & " # and  record.id = " & v1.ID & " "), dbFailOnError
DoCmd.SetWarnings True
End If
vdate = IIf(Nz(vdate, 0) <> 0, DateAdd("d", 1, vdate), date)
Next ii
v1.MoveNext
Next iii

End If 

تم تعديل هذه المشاركة بواسطة SANDANET في 21 مايو 2014 في 01:55

#66

هل تتكلم عن مشكلتين أم مشكلة واحدة ؟

 

بمعنى أن :

هناك مشكلة تسجيل موظف في أجازة في نفس وقت اجازة رسمية

ومشكلة تحديث بيانات اجازة منقضية لموظف واحد لكن تتم لكل الموظفين

 

هل فهمي لوجود مشكلتين مضبوط ؟

#67

آسف أخي العزيز أمير على التأخير في الرد فقد كان الانترنت مقطوع عندنا ليوم كامل .. على العموم هي مشكلتين لكن بإعتقادي انه يمكن حلها اذا وضعنا استعلام تحديث لبيانات الموظف المختار من القائمة فقط بشرط ان لا تكون خانة ال attends مسجل فيها كلمة "اجازة رسمية" .. 

 

 

ملاحظة: هل التعديل الذي اشرت اليه في الملاحظة السابقة كان صحيح؟

 

تحياتي لك

#68 أفضل إجابة

لم يظهر خطأ في تعديلك الأخير للكود

 

أعتقد لسنا بحاجة لاضافة استعلام تحديث

ممكن نترك اجازة الموظف المخالفة لوجود اجازة رسمية في نفس اليوم

ونكتفي بالغاء تأثيرها

 

جرب التعديل

Attendance record 4.rar

1
#69

أستاذي العزيز أمير صباحك خير وبركة إن شاء الله .. انا كنت سهران الليل بأكمله اعمل على البرنامج وخصوصاً على المشكلتين السابقتين والحمد لله تم معالجة المشكلة من جذورها بعمل استعلامات وافلام هندية اخرى لكن النتيجة كانت ايجابية :D  وإن شاء الله ساحاول ان اكمل البرنامج خلال اليومين القادمين وسأوافيك بنسخة من البرنامج حالما يكون جاهزاً (مازال لدي تعديل بسيط على التقارير فقط).. وبارك الله فيك على كل المجهودات الرائعة التي قدمتها وإن شاء الله ربي يجعلها لك في ميزان حسناتك اضعاف مضاعفة   

تم تعديل هذه المشاركة بواسطة SANDANET في 22 مايو 2014 في 07:14

#70

الحمد لله

أن تم الأمر بنجاح

وكلانا أكيد استفاد من هذا المشروع الصغير

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

ليشارك الأساتذة والزملاء في الحوار

أراك على خير إن شاء الله

هذا الموضوع مغلق.

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