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

الدليل الشامل في حساب مدد خدمة الموظفين وإجمالي هذه المدد

بدأه mas123 في 13 نوفمبر 2011 · 20 رد · 4,094 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

gfjfghjfg.gif

433334.gif

كثرت الأسئلة في الفترة الأخيرة حول حساب الفرق بن تاريخين

ويستخدم هذا في حساب مدة خدمة الموظفين من تاريخ التعيين إلى الآن

وكذلك مدد الخدمة الإضافية

وكذلك مدد الانقطاع عن العمل

65250983.gif

ولذلك توكلت على الله وقمت بتصميم هذا الملف

لعله يفيد كل من يبحث في هذا الموضوع

والله من وراء القصد

ولا ينقصني سوى دعاؤكم

mas_add_diffs.rar

1

التغير هو القانون الدائم للحياة.ودوام الحال من المحال

فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟

موقعي

#2

شكرا جزيلا أخي mas على هذا المجهود

لكن يصادفني مربع الحوار الموجود في الملف المرفق

فماهو المشكل من فضلك_________.rar

#3

أنا لا أجيد الفرنسية

ترجم هذه الرسالة.

وساعتها نعرف ما الخلل عندك؟

تم تعديل هذه المشاركة بواسطة mas123 في 14 نوفمبر 2011 في 15:25

التغير هو القانون الدائم للحياة.ودوام الحال من المحال

فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟

موقعي

#4

هذه ترجمة الرسالة، أرجو منك التوضيح جزاك الله خيرا

3errors occurred when loading the form or report

you load a form or report that has controls or properties that Microsoft Office Access does not know and will ignore

#5

لا أدري ما سبب هذه الرسالة الغريبة

فلا يوجد عناصر تحكم ولا خصائص لا يعرفها الأكسس في النموذج

ولكن ربما يكون السبب أن البرنامج مصمم على أوفيس 2010

على العموم هذه نسخة معدلة صممة بأوفيس 2003

جربها وأخبرني

هل ما زال الخلل موجوداً؟

.............

وبانتظار آراء المبرمجين العرب

وآرائهم لتطوير المشروع

mas_add_diffsV2.rar

التغير هو القانون الدائم للحياة.ودوام الحال من المحال

فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟

موقعي

#6

بارك الله فيك وجزاك الله خير اخي الفاضل

موضوع رائع جدا ومفيد

وفقك الله ونفع بك

شكرا

اتق الله حيث ماكنت

#7

شكرا لمرورك أخي الكريم at_aziz

يبدو أن الموضوع لم يجذب انتباه الإخوة المبرمجين

رغم أنه بالفعل يحتوي على أكواد مفيدة منها:

  1. الفرق بين تاريخين باليوم والشهر والعام
  2. قراءة ناتج معادلة الفرق بين تاريخين واستخراج أرقام اليوم والشهر والعام منها وذلك من خلال التعابير القياسية
  3. جمع هذه المدد وإن تعددت وهذا يسمى دالة غير محددة لعدد الباراميترات (بمعنى أنه إذا كانت مدة واحدة يتم استخراج الناتج أو حتى 100 مدة تيم استخراج الناتج أيضا بفضل الله)
  4. قراءة حقل في استعلام من خلال ado ووضع الناتج في مصفوفة

وأيضا بانتظار الملاحظات والأفكار لتطوير المشروع

التغير هو القانون الدائم للحياة.ودوام الحال من المحال

فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟

موقعي

#8

مثال جميل وممتاز ويحتوي على أكواد حرفية ممكن توظيفها بأمثلة أخرى عند اللزوم

بارك الله بجهودكم وجزاكم الله كل خير ++

تم تعديل هذه المشاركة بواسطة adnan94 في 15 نوفمبر 2011 في 08:57

#9

بارك الله بك اخي محمد

والف شكر على هذا العمل الرائع

ظهر عندي هذه المشكلة كما بالصورة وعند محاولة اغلاق الكود البرمجي يبقى مفتوح ويعود ليظهر الصورة الاولى

post-227663-044141300 1321345268_thumb.j

وعند الاغلاق تظهر الصورة الثانية

post-227663-027159900 1321345297_thumb.j

وعند الاغلاق تظهر كما بالصورة الاولى وهاكذا يبقى معلق .

المرفقات
خطأ1.JPGخطأ2.JPG

سيد الاستغفار

{ اللهم أنت ربي لا إله إلا أنت خلقتني وأنا عبدك وأنا على عهدك ووعدك ما استطعت أعوذ بك من شر ما صنعت أبوء لك بنعمتك علي وأبوء لك بذنبي فاغفر لي فإنه لا يغفر الذنوب إلا أنت}

من قالها من النهار موقنا بها فمات من يومه قبل أن يمسي فهو من أهل الجنة ومن قالها من الليل وهو موقن بها فمات قبل أن يصبح فهو من أهل الجنة .رواه البخاري

#10

السلام عليكم ورحمة الله وبركاته

الأخ mas123 كيف حالك

ما شاء الله على مثالك واحترافيته عسى أن يكون استفادة لجميع أعضاء المنتدى

ولكن لديّ بعض الملاحظات التي لا تنتقص منه أبداً

1. نسخة الـ 2010 واجهت معي بعض المشكلات أما نسخة 2003 فهي تعمل جيداً جداً

2. هل يمكن تصميم تقرير عبارة عن سجل لكل موظف يحتوي على التفاصيل والإجمالي وليس كل موظف في صفحة مستقلة؟

3. أحياناً تكون المدة المضافة أو المخصومة اعتبارية، وهنا لا نحتاج لإدخال تواريخ بل يتم إدخال اليوم والشهر والسنة يدوياً، فهل يمكن الجمع بين الطريقتين (اليدوية - وطرح تاريخين) في نفس النموذج؟

4. هلا تفضلت أخي بشرح مبسط للاستعلام والموديل الذي قمت بتصميمه.

جزاء الله كل خير

#11

شكرا لك أخي عدنان على مرورك الكريم

بالنسبة للأخ مالك يبدو أن نسخة الأوفيس لديك غير كاملة وتحتاج لبعض ملفات dll التي تكون ضمن الأوفيس الكامل ؛ لأن موضع الخطأ الذي ظهر في تنسيق الرقم وفي متغير نصي وهذا من أساسيات أي أوفيس

بالنسبة للأخ وليد

1 - الحمد لله على عمل نسخة 2003

2 - هل تضمن أن يكون لكل الموظفين نفس العدد من مدد الخدمة الإضافية أو مدد الانقطاع؟؟!

لأن المدد في هذه الحالة ستظهر في صورة أعمدة وليست صفوفاً

اللهم إلا إذا أضفت جميع المدد الإضافية في عمود واحد (وسميته خدمة إضافية مثلا) وجميع مدد الانقطاع في عمود واحد أيضاً (وسميته انقطاع عن العمل مثلا) .

3 - جاري إضافة إمكانية إدخال المدد يدوياً (مع ملاحظة أن تكون بنفس التنسيق الناتج عن دالة الفرق بين تاريخين)

يعني مثلاً:

05 عام و 09 شهر و 07 يوم

........

وفقنا الله جميعاً لكل ما يحب ويرضى

تم تعديل هذه المشاركة بواسطة mas123 في 15 نوفمبر 2011 في 17:38

التغير هو القانون الدائم للحياة.ودوام الحال من المحال

فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟

موقعي

#12

مثال رائع جدا ومشروع جيد وننتظر ما هو جديد من التعليقات والاضافات وشكرا لك

#13

عمل ممتاز أستاذ MAS123

فعلا أشتغل على أكسس 2003، وقد صادفني نفس مشكل الأخ malik 2010

و الحل الدي توصلت اليه بخصوص هذا المشكل هو:

استبدال الجدول (tbl1) الموجود في "mas_add_diffsV2" ب الجدول (tbl1) الموجود في "mas_add_diffs"

و اضافة (ACEDAO.dll) الى system32

#14

السلام عليكم ورحمة الله وبركاته

الأخ mas123

مجهود ممتاز بارك الله فيك وجعله في ميزان حسناتك

بالنسبة لملاحظاتك الذكية فمعك كل الحق

بالطبع لا أضمن أن يكون لجميع الموظفين نفس مدد الخدمة الإضافية أو فترات الانقطاع

وهنا عندي اقتراح

لديّ جدول أساسي ببيانات الموظفين

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

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

وبالطبع يجب عند إدخال المدة يدوياً أن تكون بنفس التنسيق الناتج عن دالة الفرق بين تاريخين

إنما الفكرة تتلخص في تحرير المستخدم من قيود إدخال التواريخ

بحيث إذا أدخلت التاريخ احتسبت المدة بناتج الفرق بين تاريخين

وإذا لم أدخل التاريخ تم إدخال المدة يدوياً

وبما أن الناتج بنفس الصيغة فإن إجمالي المدد صحيح

شاكر لك جهدك ووفقك الله

#15

جرب هذا المرفق أخي الكريم وليد

بفضل الله تم التوصل لكل ما ترغب

ولكل الاحتمالات

وولا تنسوني من صالح دعائكم

mas_add_diffsV3.rar

2

التغير هو القانون الدائم للحياة.ودوام الحال من المحال

فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟

موقعي

#16

أخي mas123

كيف حالك عسى أن تكون بكل خير وعذراً لتأخري في الرد لانشغالي بالعمل

المرفق ما شاء الله عليه بالفعل هذا هو ما أفكر فيه

ولكن الكمال لله وحده

عند فتح البرنامج يقوم بفتح جميع سجلات مدد الموظفين وأنا أتكلم عن التعامل مع حوالي 3000 موظف هذا شيء غير منطقي وغير عملي

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

شيء آخر مهم

واجهتني بعض المشكلات في إدخال الفترة غير المحددة بالتاريخ من حيث أنها يجب أن تكون بصيغة 00 يوم 00 شهر 00 سنة هذا شيء متعب ولا يصلح للعمل مع عدد كبير من الموظفين

لدي فكرة ولكني لا أعرف كيف يتم تطبيقها

أعتقد أنه يمكن إدخال المدة في ثلاثة مربعات نص (يوم - شهر - سنة) ثم يتم تعديلها برمجياً لتتفق مع الصيغة المطلوبة

والأسهل أصلاً أن تكون جميع القيم عبارة عن أرقام في مربعات نص ويتم تسميتها في النموذج (يوم - شهر - سنة) ونفس الأمر يتم تسميتهم في رأس التقرير هل مقصدي واضح؟

علماً بأن مجموع مدة الخدمة في التقرير خاصتك لا يعمل

وكثيراً ما تغلق قاعدة البيانات نفسها ويعطي الأكسيس هذه الرسالة

repair my open database and restart microsoft office access

لعل المشكلة عندي ولكني لا أعتقد فأنا أتعامل مع قواعد بيانات أخرى كثيرة

وأخيراً لا نقصد إتعابكم إنما نقصد الفائدة

ولكم جزيل الشكر مقدماً

#17
walid_566 كتب:

أخي mas123

كيف حالك عسى أن تكون بكل خير وعذراً لتأخري في الرد لانشغالي بالعمل

المرفق ما شاء الله عليه بالفعل هذا هو ما أفكر فيه

ولكن الكمال لله وحده

عند فتح البرنامج يقوم بفتح جميع سجلات مدد الموظفين وأنا أتكلم عن التعامل مع حوالي 3000 موظف هذا شيء غير منطقي وغير عملي

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

شيء آخر مهم

واجهتني بعض المشكلات في إدخال الفترة غير المحددة بالتاريخ من حيث أنها يجب أن تكون بصيغة 00 يوم 00 شهر 00 سنة هذا شيء متعب ولا يصلح للعمل مع عدد كبير من الموظفين

لدي فكرة ولكني لا أعرف كيف يتم تطبيقها

أعتقد أنه يمكن إدخال المدة في ثلاثة مربعات نص (يوم - شهر - سنة) ثم يتم تعديلها برمجياً لتتفق مع الصيغة المطلوبة

والأسهل أصلاً أن تكون جميع القيم عبارة عن أرقام في مربعات نص ويتم تسميتها في النموذج (يوم - شهر - سنة) ونفس الأمر يتم تسميتهم في رأس التقرير هل مقصدي واضح؟

علماً بأن مجموع مدة الخدمة في التقرير خاصتك لا يعمل

وكثيراً ما تغلق قاعدة البيانات نفسها ويعطي الأكسيس هذه الرسالة

repair my open database and restart microsoft office access

لعل المشكلة عندي ولكني لا أعتقد فأنا أتعامل مع قواعد بيانات أخرى كثيرة

وأخيراً لا نقصد إتعابكم إنما نقصد الفائدة

ولكم جزيل الشكر مقدماً

أخي الكريم وليد

عند فتح البرنامج يقوم بفتح جميع سجلات مدد الموظف الحالي فقط وليس جميع سجلات مدد الموظفين

وبالنسبة لموضوع الإدخال في مربعات النص هذا شيء يرجع لك افعله كما تشاء

كما يمكنك تنفيذ إدخال المدة في ثلاثة مربعات ثم استدعاء الأمر

 format("00",text1)

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

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

................

وأخيراً أخي الكريم

هذا الموضوع للجانب التعليمي ويمكنك الاستفادة من الأكواد الموجودة به وتطويعها بما يتناسب مع احتياجاتك

ولستَ ملزما بجعلها بالصورة الواردة في المثال التوضيحي الذي قمتُ بتصميمه

وأهم ما في الكود هو تنفيذ الاستعلامات بالكود

يمكنك الاستعانة به

تم تعديل هذه المشاركة بواسطة mas123 في 23 نوفمبر 2011 في 18:15

التغير هو القانون الدائم للحياة.ودوام الحال من المحال

فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟

موقعي

#18

أخي mas123

شكراً على جهدك معي ومعك كل الحق

لقد وعدت فأوفيت وأبدعت أيضاً

عسى أن يكون مجهودك زخراً للمنتدى والأعضاء

وأعدك بإرفاق فكرتي بعد التعديل للفائدة

وشكراً لك مرة أخرى

#19

أخي الكريم mas 123

كيف حالك عسى أن تكون بكل خير ،،،

آسف لإزعاجك ولكني أعترف بفشلي في محاولة تقسيم أعمدة الناتج إلى (يوم - شهر - سنة) بدلاً من أن تكون عبارة عمود واحد لتصبح ثلاثة أعمدة

عذراً مرة أخرى إنما نقصد الاستفادة بعلمكم فهل من مساعدة؟

#20
Ahmed115 كتب:

عمل ممتاز أستاذ MAS123

فعلا أشتغل على أكسس 2003، وقد صادفني نفس مشكل الأخ malik 2010

و الحل الدي توصلت اليه بخصوص هذا المشكل هو:

استبدال الجدول (tbl1) الموجود في "mas_add_diffsV2" ب الجدول (tbl1) الموجود في "mas_add_diffs"

و اضافة (ACEDAO.dll) الى system32

اخي العزيز

ارجو ان ترفق الملف الذي تم التعديل عليه لاني واجهتني نفس المشكلة

ومعه (ACEDAO.dll)

وشكراً لمساعدتك

وشكرا للاستاذ الكريم الذي نفذ العمل

مع تحياتي

اخـوكـم bakoraus

#21

اخى الكريم جزاك الله خيرااااااااااااااا mas123

سبحان الله وبحمده سبحان الله العظيم .. سبحان الله . الحمد لله . لا اله الا الله . الله اكبر .. استغفر الله . استغفر الله . استغفر الله

يارب احمى دينى وبلدى من كيد الاعداء والخائنين بحبك يا مصر بحبك يا مصر بحبك يا مصر

 


 


3.gif

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

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

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

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

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