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

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


ابو جودي

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

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

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

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

السؤال كان لاخت لنا فى المنتدى وتم الإجابة عليه وأعجبتنى الفكرة الى ان توسعت فتعثرت :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
رابط هذا التعليق
شارك

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

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information