يعطيك شرح مختصر وانت عليك التطبيق
طريقة 1 : بما أن كل دولة لها عطلها الرسمية فممكن تستعين بجدول خاص يضاف فيه العطل الرسمية مضاف إليه العطل الأسبوعية مكون من حقلين.
Name_dy نص
Date_dy تاريخ
اذا كان اليوم هذا كالجمعة والسبت عطلة أسبوعية على مدار السنة ..
يفضل ترك حقل date_dy فارغ بدون تاريخ.
الآن الاكواد يحتاج لك اكواد سرد عدد الأيام بين فترتين وهو كود سطر واحد فقط.
يجيب لك عدد الأيام بين تاريخين.
وكذلك
استخدام دواره بحث عن تاريخ كل يوم والتأكد من تواجدها بالجدول اذا كانت متواجدة لايتم عملية إضافة يوم إلى عدد ايام الاجازة..
الدوارة بالبداية سيكون قيمتها صفر مثلا كلما كان التاريخ متواجد في جدول الاجازت الرسمية " nothing "
اذا لم يكن متواجد..
يبحث عن العطل الرسمية الجمعة والسبت مثلا التي لا تحتوي على تاريخ .. ويتاكد من اسم هذا اليوم من خلال رقمه في الأسبوع dayintheweek.
إبداء لرسم لنفسك فكرة تستطيع تطبيقها ولو كانت بدائية.
يحتاج لك اكواد
1- معرفة عدد ايام بين تارخين
2- معرفة رقم اليوم من خلال الاسم
3- كود استعلام عن تطابق تاريخ متواجد من قاعدة بيانات.
تختلف الطرق والنتيجة واحدة
وأنا قصدت أشرح بهذه الطريقة مش لأن فكرتك صعبة .. متواجدة في النت لو بحثت عليها كويس ..
U can search use English language in google.com
واعتذر عن مداخلتي الي سأعلمك أكثر كيف تعتمد على تفكيرك مستقبلا..
كود
PHP كود :
Function FindDays(ByVal fromdate As Date, ByVal todate As Date)
Dim AmountofDaysTaken As Integer = 0
If todate.Date < fromdate.Date Then Exit Function
While fromdate.Date <= todate.Date
Select Case fromdate.DayOfWeek.ToString()
Case "Monday"
If mondaychk.Checked Then AmountofDaysTaken = AmountofDaysTaken + 1
Case "Tuesday"
If tuesdaychk.Checked Then AmountofDaysTaken = AmountofDaysTaken + 1
Case "Wednesday"
If wednesdaychk.Checked Then AmountofDaysTaken = AmountofDaysTaken + 1
Case "Thursday"
If thursdaychk.Checked Then AmountofDaysTaken = AmountofDaysTaken + 1
Case "Friday"
If fridaychk.Checked Then AmountofDaysTaken = AmountofDaysTaken + 1
Case "Saturday"
If saturdaychk.Checked Then AmountofDaysTaken = AmountofDaysTaken + 1
Case "Sunday"
If sundaychk.Checked Then AmountofDaysTaken = AmountofDaysTaken + 1
End Select
Debug.Print(fromdate.Date & " " & todate.Date & " " & fromdate.DayOfWeek.ToString())
My.Application.DoEvents()
fromdate = fromdate.AddDays(1)
End While
Return AmountofDaysTaken
End Function