الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كود ارجاع تاريخ بداية ونهاية الاسبوع

بدأه الفيلسوف111 في 17 نوفمبر 2011 · 12 رد · 1,202 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ... في التاريخ الميلادي ... هل يوجد كود او دالة ترجع تاريخ بداية ونهاية الاسبوع استنادا على تمرير رقم الاسبوع والسنة ، علما بان بداية الاسبوع هو يوم الاحد ؟

مثال لدي رقم الاسبوع 39 لسنة 2011 بعد تمرير 39 و 2011 في الكود او الدالة تكون النتيجة 18/9/2011 و 24/9/2011

مع اطيب التمنيات والشكر الجزيل

طارق العيد

#2

اخي الفاضل : طارق العيد

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

تفضل هذا المثال بناء على طلبك

post-15367-074788100 1321555919_thumb.gi

هناك ملاحظة على رقم الأسبوع 39 في مشاركتك حيث تقول ان بدايته هي 18/9/2011 ونهايته هي 24/9/2011

بينما الصحيح بداية الأسبوع 39 هي 25/9/2011 ونهايته هي 01/10/2011

انظر التقويم السنوي لسنة 2011 وعليه ارقام الأسابيع وقد ضللت لك الأسبوع رقم 39 باللون الأخضر

post-15367-062136500 1321556011_thumb.gi

zaDateOfWeek.rar

بالتوفيق

المرفقات
ff1.gifff3.gif
#3

ما شاء الله تبارك الله عليكي اختي ام عهود

#4

بارك الله فيك أستاذتنا القديرة/ زهرة

وهذه طريقة أخرى لاتعتمد على الكود وإنما على الاستعلام, كنت قد بدأت بها قبل أن أرى ردك الرائع, فأحببت أن أضعه لزيادة الفائدة.

st&endWeeks.rar

#5

بارك الله بك اخي غرام العقول

على هذه المشاركه

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

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

اول يوم في الإسبوع بدلالة رقم الأسبوع والسنه

FirstDayOfWeek: DateSerial([ya];1;([ww1]-1)*7+1)+1

اخر يوم في الأسبوع مبني على العبارة السابقة مضاف اليها 6 ايام

LastDayOfWeek: [FirstDayOfWeek]+6

فقط حقلين مختصره لبداية الأسبوع ونهاية الأسبوع

انظر الإستعلام Q2

post-15367-004156700 1321565245_thumb.gi

za-st&endWeeks-UP.rar

بالتوفيق

المرفقات
ww.gif

تم تعديل هذه المشاركة بواسطة zahrah في 18 نوفمبر 2011 في 00:49

#6

لقد أحسنت وأجدت بارك الله بك وأحسن إليك

وقد أوحى لي اختصارك الأخير بأخذ رأيك في اختصار الدالة السابقة بهذا الشكل:

Public Function DateOfWeek(ByVal ya As Integer, ByVal ww1 As Byte) As Date
Dim Fw As Date
Fw = DateSerial(ya, 1, (ww1 - 1) * 7 + 1) + 1
DateOfWeek = Fw
End Function

وتستدعى من زر الأمر في النموذج بهذا الشكل:

Private Sub cmdUpdate_Click()
On Error GoTo ErrHndlr
StartDateOfWeek = DateOfWeek(numOfYear, numOfWeek)
EndDateOfWeek = DateOfWeek(numOfYear, numOfWeek) + 6
Me.Requery

cmduExit:
Exit Sub
ErrHndlr:
Resume cmduExit
End Sub

فما رأيك أستاذتي؟

كما في المرفق التالي:

dateofweek1.rar

#7

الاخت الفاضلة ام عهود اشكرك جزيل الشكر على كل ما تبذلينه واقدر لك هذا ..... جزاك الله الف خير .

الاخ الفاضل غرام العقول اشكرك جزيل الشكر على كل ما تبذله واقدر لك هذا ..... جزاك الله الف خير .

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

لكن اذا كان بداية الاسبوع يوم الاحد تكون النتيجة 18/9/2011 و 24/9/2011

والف شكر الف شكر لج وما قصرتي مع جزيل الشكر .

واستأذنك في تغيير الكود التالي

 datDateOfFirstWeek = DateAdd("ww", bytWeek - 1, datDateOfFirstWeek)

الى

 datDateOfFirstWeek = DateAdd("ww", bytWeek - 2, datDateOfFirstWeek)

لتكون النتيجة 18/9/2011 و 24/9/2011

بالرجاء اخباري عن اي تغييرات اخرى مع كل الاحترام والتقدير

واشكر كل من حاول وشارك 100 على 100 للجميع :)

تم تعديل هذه المشاركة بواسطة الفيلسوف111 في 18 نوفمبر 2011 في 13:33

طارق العيد

#8

اخي غرام العقول

بارك الله بك على هذه الدالة المختصره وان دل هذا فإنما يدل على تفكير سليم وعقل نير

الدالة سليمه 100%

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

اخي طارق

بارك الله بك على التعقيب

يمكنك التحكم بالداله كما تريد بناء على رغبتك في ايهما يكون بداية الأسبوع سواء يوم الأحد او الأثنين كل ما عليك هو انقاص اسبوع

ولكن الذي اعرفه ان الإجازه الإسبوعيه عند الغربيين هي السبت والأحد وبهذا يبدأ اول يوم في الإسبوع بيوم الأثنين الا اذا كان لديك رأي آخر فهذا شيء آخر

عموما تستطيع تكييف الداله بناء على رغبتك فإن الدالة سوف تعمل معاك

بالتوفيق

#9

شكرا لك كل الاحترام والتقدير تم تضمين الدالة في البرنامج واخراج الاحصائية الاسبوعية 100% :)

post-40541-074882500 1321714921_thumb.jp

المرفقات
dddd.jpg

طارق العيد

#10
الفيلسوف111 كتب:

شكرا لك كل الاحترام والتقدير تم تضمين الدالة في البرنامج واخراج الاحصائية الاسبوعية 100% :)

طارق العيد

#11

السلام عليكم ورحمة الله جميعا الاخت الفاضلة ام عهود

وقع تشابه في ارجاع 2012 الاسبوع 1 و 2011 الاسبوع 53

مع السنة الجديده 2012 الاسبوع الاول 1

كان ارجاع التاريخ 25/12/2011 الى 31/12/2011 والصحيح 1/1/2012 الى 7/1/2012

وفي عام 2011 في الاسبوع الاخير 53

كان ارجاع التاريخ 25/12/2011 الى 31/12/2011 وهذ صحيح

علما بان بداية الاسبوع يوم الاحد

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

طارق العيد

#12

اخي الفاضل : طارق

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

تفضل التعديل الأخير والصحيح إن شاء الله لدالة اظهار اول يوم في الإسبوع وآخر يوم في الإسبوع على اعتبار ان الأسبوع يبدأ بيوم الأحد

post-15367-077561900 1326033110_thumb.gi

post-15367-024720600 1326033136_thumb.gi

الآن قم بعمل التجارب على كل الأسابيع سواء السنة الحالية او السنوات السابقة او القادمة وتأكد من عمل الكود بكل دقه حيث تم تجربة البرنامج حتى عام 3000 ميلادي بدون اخطاء

zaDateOfWeek-UP.rar

بالتوفيق

المرفقات
W1.gifW2.gif
#13

كل التقدير والشكر الجزيل واحسن الله اليك كما تحسنين الى الناس الف شكر 100%

طارق العيد

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…