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

مساعدة في تقرير الشهري الخاص بعدد ايام العمل


snawnaw39

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

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

 

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

 

حيث انه كل شهر فيه 22 يوم عمل

ما اريده هو :

 

-عمل تقرير بعدد ايام العمل لكل عامل  وحده فمثلا قد عمل 20 يوم في شهر جانفي و 22 يوم في شهر فيفري 

 

التقرير الذي اريده هو عدد ايام العمل لكل شهر في تقرير واحد خاص بكل عامل .

 

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

 

تقرير يستخرج 22 يوم فقط .

 

فمثلا لو ان العامل عمل 20 يوم لا يظهر اسمه فالتقرير الشهري ولو عمل 22 يوم يظهر اسمه في التقرير.

 

اتمنى ان اكون قد اوصلت ولو فكررة بسيطة

 

 

SNAWNAW.rar

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

اشكرك على ردك لكن ليس هذا ما ابحث عليه فلقد اطلعت على هذا الموظوع من قبل.

 

 

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

 

الرجاء الاصلاع الجيد على ما طلبته فضلاً لا امرًا

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

استخدم هذا الكود لكن يجب اضافة جدول جديد اسمه tblHolidays فيه حقل اسمه HolidayDate هذا الحقل تحدد فيه ايام العطل لديك ليس فقط يوم الجمعة والسبت . بمعنى حتى المناسبات لبلدك .

بعدها قم بانشاء استعلام ضع له معايير يعرض لك اكبر من 22 فقط 22<  واستعلام اخر يعرض لك اصغر من 22 > حتى من خلالهم تعرض لك العمال الذين عملو اقل واكثر .

Public Function WorkingDays2(StartDate As Date, EndDate As Date) As Integer

' Comment: Accepts two dates and returns the number of weekdays between them
' Note that this function has been modified to account for holidays. It requires a table
' named tblHolidays with a field named HolidayDate.
'....................................................................
On Error GoTo Err_WorkingDays2

Dim intCount As Integer
Dim rst As DAO.Recordset
Dim DB As DAO.Database

Set DB = CurrentDb
Set rst = DB.OpenRecordset("SELECT [HolidayDate] FROM tblHolidays", dbOpenSnapshot)

'StartDate = StartDate + 1
'To count StartDate as the 1st day comment out the line above

intCount = 0

Do While StartDate <= EndDate

rst.FindFirst "[HolidayDate] = #" & StartDate & "#"
If Weekday(StartDate) <> vbSunday And Weekday(StartDate) <> vbSaturday Then
If rst.NoMatch Then intCount = intCount + 1
End If

StartDate = StartDate + 1

Loop

WorkingDays2 = intCount

Exit_WorkingDays2:
Exit Function

Err_WorkingDays2:
Select Case Err

Case Else
MsgBox Err.Description
Resume Exit_WorkingDays2
End Select

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

هل اطلعت على المثال المرفق ام لا

 

لا ابحث عن تواريخ بل الذي ابحث عنه هو تقرير تتم فيه طباعة اسماء العمال الذين قمت بوضع عدد ايام العمل يدويا واللتي هي في النموذج ajou

 

انت لم تفهم قصدي نهائيا اخي الكريم

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

طيب على اي اساس انت تحسب مدة العمل ؟ 

لنفترض ان هذان الحقلان هما بداية التاريخ ونهاية التاريخ .... اوك . 

ضع في سجل ابراهيم بداية عمله من 1/9/2014 ولغاية 1/10/2014 

افتح انشاء ... استعلام بالتصميم . لا تختار اي جدول ... اختر من زر التصميم في شريط المهام جملة SQL 

سوف تنفتح لك ورقة بيضاء فيها جمله صغيرة احذف هذه الجمله . 

انسخ هذا الكود والصقه في مكانها .

ولاحظ من خلال هذا الاستعلام انشأ تقرير .

انا كلامي واضح التقارير تستند اما للجداول مباشرة او استعلام . 

SELECT Pre_emp.Nom, Pre_emp.Prenom, Pre_emp.date_t, Pre_emp.fin_contra, DateDiff("d",[Pre_emp].[date_t],[Pre_emp].[fin_contra]) AS TotalSick
FROM Pre_emp
WHERE (((DateDiff("d",[Pre_emp].[date_t],[Pre_emp].[fin_contra]))>22));

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

اخي لاحظ  المرفق فقد اضفت زر معاينة للتقرير

 

وهو يظهر عاملين كل منهما له 22 يوم عمل

 

فلو دخلت على النموذج ajou  وعدلت ايام العمل اقل من 22 يوم فلن يظهر اسم العامل الذي تم التعديل عليه في التقرير

 

الذي اريده هو عمل تقرير يظهر لي كل شهر لوحده

 

بمعنى ان الذي عمل اقل من 22 يوم لن يظهر في التقرير فمثل لكل عامل 12 شهر وعدد العمال يكون حوالي 120 او 130 عمل

 

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

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

 

اتمنى اكون اصبت ولو بالقليل من تقريب واضح الامر لك

 

واكون من الشاكرين لو تم  ذلك

 

 

 

 

SNAWNAW.rar

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

الرقم 22 من اين جاء ؟

ستقول كل شهر يشتمل على 22 يوم عمل فعلي

فكيف نعلم ان العامل الفلاني عمل 20 يوما فقط ؟

اين البيانات التي تدل على ذلك ؟

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

تم التعديل وعمل التقارير اللازمة

ملحوظة : 

في تقرير 22 يتم العرض صفحة صفحة

وفي تقرير 20 يتم عرض الجميع بالتوالي

 انظر الفرق بينهما  في مقطع التذييل عند عرض التصميم 

دقق وتفحص وتعلم

 

كما هناك تقرير ثالث للفرد

 

وفقك الله  ،،،

SNAWNAW_UP.rar

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

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