اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

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

اساتذتى الكرام  ،، تحية طيبة عطرة

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

السؤال كان لاخت لنا فى المنتدى وتم الإجابة عليه وأعجبتنى الفكرة الى ان توسعت فتعثرت :biggrin:

اولا الموضوع الأصلى 
 

 

ارفق لكم قاعدة جديدة  والتى تحمل تساؤلاتى 

المرفق الجديد يعتمد فى عمله على العناصر الثلاث الاتيه 

  1.  جدول tblRegVacation >>---> جدول يتم فيه تسجيل اول تاريخ بدء الأجازة ,اخر تاريخ لنهاية الأجازة , وطبعا كود الموظف
  2.  qrySysSourc             >>--->  استعلام سحرى يعتمد على جدول من جداول النظام وهذا اول تساؤلاتى أريد فهمه وفيما يمكن الاستفادة منه أكثر
  3.  qryVacationsDetailed >>--->  استعلام يعتمد على الاستعلام السابق والجدول يسجل التاريخ متسلسلا ومفصلا بناء على أول تاريخ وأخر تاريخ

    المطلوب كيفية استثناء العطل الأسبوعيه ( الجمعة و السبت   - أو أى أيام أخرى تبعا للحاجة ) وكذلك التواريخ للعطلات الرسمية والمحجوزة ومسجلة فى الجدول tblHolidays
    وذلك كما تم عمله فى الحل بالمرفق الأصلى للموضوع الأساسى :rol:

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

     

Daynamic Gnrate Date.zip

  • Like 1
  • Thanks 1
قام بنشر (معدل)

هذه دالة من الزمن القديم من أبي هادي لعد أي يوم من الأسبوع بين تاريخين وإجراء مني لطريقة استخدامها:
 

Function CountWkDay(ByVal Date1 As Date, _
                    ByVal Date2 As Date, _
                    WkDay As Byte) As Long
    'WeekDay Counter
    Date1 = Date1 - 1
    Date1 = Fix((Date1 + (7 - WkDay)) / 7)
    Date2 = Fix((Date2 + (7 - WkDay)) / 7)
  
    CountWkDay = Date2 - Date1
End Function

Sub CountWkDayTest()
    Dim Date1 As Date
    Dim Date2 As Date
    
    Date1 = DateSerial(2022, 1, 1)
    Date2 = DateSerial(2022, 1, 20)
    
    MsgBox CountWkDay(Date1, Date2, vbFriday) + _
           CountWkDay(Date1, Date2, vbSaturday)
End Sub

هذه الدالة قد تقلل من كتابة الأكواد وخطوات الحسابات للعاملين بشؤون الموظفين أو المحاسبين، وربما تكون سببا في تغيير ما تفكر فيه الآن. 🙂 .
 

 

2 ساعات مضت, ابو جودي said:

استعلام يعتمد على الاستعلام السابق والجدول يسجل التاريخ متسلسلا ومفصلا بناء على أول تاريخ وأخر تاريخ

ممكن نعرف جدوى هذه الخطوة؟
سأعود لكم الليلة إن شاء الله.

تم تعديل بواسطه AbuuAhmed
تصحيح املائي
  • Like 1
قام بنشر

في بالي حاليا فكرتين:

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

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

والفكرة الأخرى الاستعانة بالإكسل.

أحتاج جوابك حتى أبدأ الليلة ببلورة الفكرة وتطبيقها إن شاء الله.

  • Like 1
قام بنشر

السلام عليكم

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

استعلام  qryVacationsDetailed3

SELECT DISTINCT tblRegVacation.EmpCode, DateAdd("d",[Factor],[StartDate]) AS [First Date], tblRegVacation.EndDate
FROM qrySysSourc, tblRegVacation
WHERE (((DateAdd("d",[Factor],[StartDate])) Not In (SELECT tblHolidays.HolidayDate
FROM tblHolidays;
)) AND ((qrySysSourc.Factor) Between 0 And DateDiff("d",[StartDate],[EndDate])) AND ((Weekday(DateAdd("d",[Factor],[StartDate]))) Not In (6,7)));

بالتوفيق

Daynamic Gnrate Date_1.mdb

  • Like 1

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