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

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

قام بنشر

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

اخواني الأعزاء

في المرفق جدول يحتوي على سجلات يتم ادخالها يوميا

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

على فرضية ان الاسبوع يبدأ بيوم الأحد وينتهي بيوم السبت

زيادة ايضاح :

في المرفق جدول يشتمل على سجلات

تبدأ من يوم الجمعة 27 / 3 / 2015  

وتنتهي  بيوم السبت القادم 4 / 4 / 2015

المطلوب :

1- عرض السجلات من تاريخ الاحد في هذا الاسبوع  29 / 3  وحتى السبت القادم 4 / 4  فقط

2- وعلى فرضية انني قمت بتغيير تاريخ الكمبيوتر الى الأحد القادم ثم قمت بتسجيل جديد داخل الجدول بتاريخ الاحد القادم  5 / 4 / 2015 فأريد  ان يعرض اليوم الجديد في الاسبوع الجديد فقط  وهكذا ... 

 

مطلوب عرض بيانات أيام الأسبوع الحالي   من 1 وحتى 7  من خلال استعلام

دوال مساعدة:

Weekday(date, [firstdayofweek]) لاستخراج رقم اليوم خلال الاسبوع

Format([date1];"ww")  لاستخراج رقم الاسبوع خلال السنة 

 

UData.rar

قام بنشر

حيا الله الاستاذ الجليل ابا خليل

لقد اوردتم كلمة "اعتقد" انك توصلت للحل ولم تجزم !

فهل ياترى تقصد قصوره عند وجود عدة سنوات ؟ 

لذلك يمكن التنسيق بهذا الشكل yyyyww

 

تحياتي

  • Like 1
قام بنشر

هلا بك اكثر اخوي رمهان

وشكرا للمساعدة ومد يد العون

وكلمة " اعتقد" هي على فرضية وجود حلول افضل 

والحقيقة ان الحل قدح  في فكري وانا اكتب السؤال لذا وضعت الدوال المساعدة

وانتظرت ما يقرب من الساعة ثم طرحت الجواب

الدالة :  Format([dateM];"ww")   لوحدها  تكفلت بالحل ، فأول يوم في الاسبوع هو الاحد افتراضيا

ثم استخدمتها مرة اخرى كمعيار داخل الاستعلام مع استبدال التاريخ الظاهر بــ  ()Date

 

 

لذلك يمكن التنسيق بهذا الشكل yyyyww

 

جميل .. لو كنت سأبحث عن او اعرض اسبوع معين خلال سنوات

ولكني اريد الاسبوع الحالي فقط

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

  • Like 1
قام بنشر

اخي أبا خليل

ماوجهة نظرك حول  Format([dateM];"ww")  عند وجود اكثر من سنة في العمود وانا اريد ان اعرض الأسبوع الحالي فقط ؟؟

 

تحياتي

قام بنشر

السؤال غير واضح نوعا ما

فحسب فهمي للسؤال سأجيبك بنحو ما جاء في مشاركتي الاخيرة

 

الدالة :  Format([dateM];"ww")   لوحدها  تكفلت بالحل ، فأول يوم في الاسبوع هو الاحد افتراضيا

ثم استخدمتها مرة اخرى كمعيار داخل الاستعلام مع استبدال التاريخ الظاهر بــ  ()Date

 

قام بنشر

انا اقصد استاذنا الجليل : ان باستخدام ما قلت بانه كفيل بالحل   Format([dateM];"ww")  لم يعطي الحل اذا وجد بالعمود اكثر من سنة ؟

فاردت ان اعرف الحل اذا وجد لديكم ابا خليل ؟ لاوفر وقت محاولتي وفكرة الحل ؟ 

 

تحياتي

قام بنشر

ما شاء الله .. انت ابو الحلول

وكأني استوحي ان في جعبتك شيئا ...

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

وهي   DatePart("ww";[DateM])

فجاءتني فكرة تطبيق هذه مع دالة iif

فالحل الذي عندي سيكون هكذا :

 
 IIf(Year([datem])=Year(Date());DatePart("ww";[DateM]))

ما رأيك ؟؟

 

UData3.rar

قام بنشر

أوك . طيب ماهوه انا شاركت بوضع التنسيق yyyyww  . وهو كفيل بالحل . ولكن انت طلبت لو اصبح ألاحد القادم داخل بسنة جديدة .

 

وهنا المشكلة . ولكن لكي نجد افضل حل خلينا نعرف ما هو "الأسبوع الحالي" :

1.هل هو من ألاحد الى الاحد وبدون تمييز لو اختلف الشهر والسنة

2. هل هو من ألاحد إلى ألاحد بنفس الشهر والسنة

 

بالتوفيق 

قام بنشر

الاسبوع الافتراضي هو من الاحد وحتى السبت 

والسنة تحتوي على 53 اسبوعا 

 

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

قام بنشر

اهلا بك اخي اباخليل

معناته اذا انا احتاج هذا الاسبوع بغض النظر عن الشهر والسنة لابد من عمل دالة برمجية خاصة تاتي بالتواريخ من الاحد وحتى السبت القادم .

حيث لم يحضرني الحل باستخدام الدوال المضمنة بالاكسس.

لاحظ المطلوب حتى وان دخل احد الايام القادمة في سنة جديدة.

فلو صادف الجمعة بسنة جديدة يكون ضمن هذا الاسبوع.

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

تحياتي

قام بنشر
معناته اذا انا احتاج هذا الاسبوع بغض النظر عن الشهر والسنة لابد من عمل دالة برمجية خاصة تاتي بالتواريخ من الاحد وحتى السبت القادم .

حيث لم يحضرني الحل باستخدام الدوال المضمنة بالاكسس.

لاحظ المطلوب حتى وان دخل احد الايام القادمة في سنة جديدة.

فلو صادف الجمعة بسنة جديدة يكون ضمن هذا الاسبوع.

 

بعد الرجوع الى مثالي السابق وتجربته  وبعد الرجوع الى خصائص الدالة  DatePart تبين لي :

ان كل ما طلبت قد حققه الكود السابق في المشاركة  رقم 8   

حيث ان الدالة المذكورة  تتضمن وسيطتين ( اول يوم في الاسبوع واول اسبوع في السنة ) 

DatePart(interval, date, [firstdayofweek], [ firstweekofyear])

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

القيمة الاولى = 1 وهو يوم الاحد

القيمة الثانية=1 وهي البدء في الاسبوع الذي يأتي فيه شهر يناير

آمل ان تتفحص المثال السابق وتبدل بين التواريخ بما يوافق السبت والاحد لترى النتيجة

  • أفضل إجابة
قام بنشر

عزيزي اباخليل

ما رأيك بهذا المعيار بعمود التاريخ :

>=DateAdd("d";1-Weekday(Date());Date()) And <DateAdd("d";8-Weekday(Date());Date())

فالعملية هي : احسب لي من الاحد الى الاحد ! اي هذا الاسبوع!! وما لنا شغل في الاسبوع والشهر والسنة !!

 

تحياتي

  • Like 1
قام بنشر

 

ما رأيك بهذا المعيار بعمود التاريخ :

>=DateAdd("d";1-Weekday(Date());Date()) And <DateAdd("d";8-Weekday(Date());Date())

 

حل جميل ورائع  

 آمل شرح آلية المعادلة ( اكبر من او يساوي واحد "ناقص" رقم اليوم ) و ( اصغر من ثمانية "ناقص" رقم اليوم )  

حقيقة هذه مثل : خشب الخبش .. يقف التفكير :blink:  

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

اهلا بك أستاذ أبا خليل

على فكرة : في الاكسس 2010 واتوقع 2007  عند الضغط على مؤشر فلترة العمود من نوع تاريخ يأتي ضمن الخيارات الخاصة بخيار فلترة التواريخ " الأسبوع الحالي " ولكنه يعمل على رقم الأسبوع خلال الشهر والسنة ! بمعنى الاكسس نفسه لا يجلب أيام دخلت في سنة جديدة !!

فهنا برجوعنا الى مشاركتي رقم 9 وتعريف معنى هذا الأسبوع : هل هو هذا الأسبوع من هذا الشهر ؟ ام هذا الأسبوع من هذه السنة ؟

فالحل الذي وضعته هو : هذا الأسبوع بغض النظر عن شهر وسنته ! وهنا شرح المعيار :

ببساطة : اكبر من او يساوي الاحد السابق واقل من الاحد القادم ! طبعا اقل من بدون مساواة لعدم ادخال الاحد القادم وإدخال السبت القادم فقط !

فالجزء الأول يعيد الاحد السابق : استخدمت دالة إضافة عدد أيام الى التاريخ ! ف weekday تعيد رقم اليوم فاذا كان 1 ستكون الإضافة صفر أي صادف الاحد واذا كان اكبر ستضيف عدد أيام والناتج بالسالب مما يجعل التاريخ يعود للوراء بعدد أيام السالب .

طبعا اكيد فهم الجزء الثاني والخاص بإعادة الاحد القادم !

 

تحياتي

تم تعديل بواسطه رمهان
  • Like 1
قام بنشر (معدل)

وجزاكم الله خيرا اباخليل !

بس مافيش اعجاب ! او افضل اجابة !! :mad:

كنت حاب ارسل لك خاص ! ولكن لايستقبل خاصك !!

 

تحياتي :biggrin2:

تم تعديل بواسطه رمهان
  • 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