اذهب الي المحتوي
أوفيسنا

استعلام بالتواريخ بين تاريخين فترة من والي


الردود الموصى بها

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

لدي جدول لادخال بيان الاجازات لموظف حيث الادخال يكون كالاتي.

1.jpg

وارغب في استعلام يعطيني الناتج الاتي

2.jpg

حيث يطلب مني تحديد عدد الايام لموظف معين خلال شهر مثلا يناير فقط 

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

ولكم من كل الشكر والتقدير

مرفق MM.rar

اخوكم / محمود المصري

رابط هذا التعليق
شارك

3 ساعات مضت, محمود _ المصري said:

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

لدي جدول لادخال بيان الاجازات لموظف حيث الادخال يكون كالاتي.

ارغب في استعلام يعطيني الناتج الاتي

2.jpg

حيث يطلب مني تحديد عدد الايام لموظف معين خلال شهر مثلا يناير فقط 

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

::: اخي طلبك وحسب فهمي البسيط ... غريب نوعا ما ... فانت بهكذا طرح تعمل تكرارات للسجلات بالاستعلام لا حصر لها وليس لها اهمية برمجية .. والافضل ان تضيف حقل جديد يحسب ايام الاجازة بواسطة الدالة datediff ،،ثم تجعع ايام الاجازات لموظف معين وتعمل كل ما تحتاجه ..... الخ       ده اقتراحي في القضية ... بالتوفيق

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

شكرا اخي الكريم علي تفاعلك معي

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

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

ولو فرضنا ان محمود اخذ اجازة لمدة ثلاث ايام اعتبارا من 30-1-2016 حتي 1-2-2016 

فهنا نلاحظ ان في شهر يناير يحسب له يومين وهما 30-1 ، 31-1 بتقرير منفصل

وفي شهر فبراير يوم واحد وهو 1-2 

وانا اقوم بجمع عدد الايام تلقائي وهما 3 ايام 

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

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

وارجوا ان اكون موفق بشرح المطلوب 

واسف علي الاطالة 

تحياتي لك

تم تعديل بواسطه محمود _ المصري
رابط هذا التعليق
شارك

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

ومن يستطيع مساعدتي علي تطبيقة علي مثالي وتنفيذة بالاستعلام يكون افضل 

وارجو الاهتمام للضرورة تحياتي لكم

تواريخ بين تاريخين.rar

اخوكم / محمود المصري

تم تعديل بواسطه محمود _ المصري
رابط هذا التعليق
شارك

السلام عليكم اخي الغائب محمود:smile:

وحشتنا يا راجل ، وحتى البدر له طلّه مرة في الشهر ، بس انت بقيت اغلى منه ، ولك طلّه متى ما تحب:smile:

 

طبعا ممكن عمل اللي تريده بالكود ، بس عندي لك حل تاني اسهل:

ايه رايك في تقريرك الحالي ، نعمل خانه "عدد ايام الإجازة" لكل سجل ، وتحت ، نعمل مجموعهم:smile:

 

جعفر

  • Like 1
رابط هذا التعليق
شارك

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

بالفعل انا عندي خانة لعدد الايام وسوف اشرح لك مطلبي بشي من التفصيل

الجدول لدي به ست اعمدة وهما ( كود الموظف ، الاسم ، نوع الاجازة ، الفترة من ، الفترة الي ، عدد ايام الاجازة ) 

انا اقوم بادخال الاجازة خلال الفترة مثلا من 30-1-2017 حتي 4-2-2017 وبرمجيا يقوم بجمع الايام بعمود مستقل وهما 6 ايام 

الي هنا كل شي تمام واقوم باستخراج النماذج بناء علي هذا الادخال تمام التمام

ولكن لدي في العمل تقرير يطلب مني شهريا لكل الموظفين مثلا عن شهر يناير 2017 فقط بحيث اذا تعدي الموظف خلال هذا الشهر عدد (5 ايام اجازة يخصم منه نسبة من الحافز )

فاذا فرضنا مثلا محمود اخد اجازة خلال الفترة من 30-1-2017 حتي 4-2-2017  ( لاحظ ان المدة متداخلة بين شهرين يناير وفبراير ) في شهر يناير يومان وشهر فبراير اربعة ايام 

فاذا تم اخرج تقرير بعدد ايام الغياب عن شهر يناير بناء علي عمود عدد الايام فسوف يعطيني 6 ايام خلال شهر يناير لاني سوف اعتمد علي تحديد التاريخ من عمود ( الفترة من ) وسيتم خصم نسبة من الحافز للموظف ظلم لانه في شهر يناير اخذ يومان فقط :smile:

فاذا تم تنفيذ استعلام يقوم بجعل الفترة من والي بعمود واحد سيكون الامر سهل بالنسبة لي لان المدة ستكون بعمود واحد هكذا :-

2017-1-30

2017-1-31

2017-2-1

2017-2-2

2017-2-3

2017-2-4

واستطيع افصل عدد الايام بشهر يناير وعدد الايام بشهر فبراير 

ارجو ان اكون وصلت الفكرة واتمني ان تكون عن طريق استعلام وليس نموذج

تحياتي لك اخي جعفر 

 

رابط هذا التعليق
شارك

تفضل:smile:

 

تختار الشهر من النموذج ، وتفتح التقرير:

513.Clipboard01.jpg

.

واذا لا تريد الايام التي لا علاقة لها بالشهر الذي تم اختياره ، فما عليك إلا وضع الشرط التالي في الاستعلام Q:

513.Clipboard02.jpg

.

والعقل المدبر للعملية كلها هي هذه الوحدة النمطية:


Function Count_Days(S As Date, E As Date, M As Date) As Integer

    'S = Det_A = Start Date
    'E = Det_B = End Date
    'M = Month of Report
    
    Dim LastDay_S, FirstDay_E, LastDay_M As Date
    
    LastDay_S = DateSerial(Year(S), Month(S) + 1, 0)
    FirstDay_E = DateSerial(Year(E), Month(E), 1)
    LastDay_M = DateSerial(Year(M), Month(M) + 1, 0)
    
    If Month(S) = Month(M) And Month(E) = Month(M) Then
        'M month = month for both S and E
        Count_Days = DateDiff("d", S, E) + 1
        
    ElseIf Month(S) = Month(M) And Month(E) <> Month(M) Then
        'M month = month for S only
        Count_Days = DateDiff("d", S, LastDay_S) + 1
        
    ElseIf Month(S) <> Month(M) And Month(E) = Month(M) Then
        'M month = month for E only
        Count_Days = DateDiff("d", FirstDay_E, E) + 1
        
    Else
        'out of boundries
        Count_Days = 0

    End If
    
End Function

.

 

جعفر

513.MM.mdb.zip

  • Like 1
رابط هذا التعليق
شارك

حيا الله أخي محمد:smile:

 

انا اعمل على الاكسس 2010 ، واليك نسخة اخرى ، وان شاء الله تعمل معك:smile:

 

بوجه عام ، البرنامج فيه فقط اسم الموظفق ، بداية تاريخ الاجازة ، ونهاية تاريخ الاجازة ،

وهكذا ننادي الوحدة النمطية من الاستعلام:

513.Clipboard03.jpg

.

جعفر

513.MM.accdb.zip

  • Like 1
رابط هذا التعليق
شارك

تحية طيبة استاذ جعفر

اعتذر كثيرا استاذ جعفر الخطا مني

اعتقدت انه بعد تحديد التاريخ و الضغط على close سيفتح التقرير تلقائيا :imsorry:

لكن اكتشفت انه يجب تحديد التاريخ ثم فتح التقرير بشكل عادي :biggrin:

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

رابط هذا التعليق
شارك

عفوا أخي محمود ، هناك ملاحظة يجب ان تنتبه لها:

البرنامج يعمل على ان فترة الاجازة شهر او شهرين فقط ، يعني مثلا:

1-1-2006 الى 25-1-2016

او

5-1-2016 الى 23-2 2016

 

ولكنه لن يعمل على فترة اجازة اكثر من شهرين ، يعني مثلا:

1-1-2016 الى 3-3-2016

او

2-2-2016 الى 4-4-2016

 

للعلم:smile:

 

جعفر

  • Like 1
رابط هذا التعليق
شارك

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

وزادك الله علم انتا وكل من يتعاون في هذا الصرح العظيم :fff:

دائما مبدع معي سواء هنا او بمنتدي الفريق العربي للبرمجة

ربنا ما يحرمنا منك 

 

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information