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

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

قام بنشر

السلام عليكم

اخواني واحبتي

في الجدول tblCtrlDetails

اريد من خلال استعلام اظهار السجل الذي يمثل الوقت الحالي حسب اليوم والفترة فقط

الوقت الحالي محصور بين وقتين (بداية ونهاية )

......................................................

الأيام  :  أيام الأسبوع  : الأحد /الاثنين / الثلاثاء / الأربعاء / الخميس

         نهاية الأسبوع  : الخميس / الجمعة / السبت

لاحظ ان يوم الخميس مشترك

..................................................................

لك مطلق الحرية في تغيير اوقات الفترات ... والأيام

واعتقد من اجل التجربة يجب العبث بوقت جهاز الحاسوب

Database1.accdb

قام بنشر

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

هل هذا ما تريد الوصول إليه ؟ 

image.png.81256e34e5e279b60821983787eb61ab.png

قدمت وقت الفترة الأولى لكي يظهر معي السجل .. 🙂 

حاس أن الموضوع فيه تعقيد أكثر مما أتصور 😅🖐️

Database1.accdb

قام بنشر

 نعم .. تماما .. كما في الصورة

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

 

26 دقائق مضت, Moosak said:

 

حاس أن الموضوع فيه تعقيد أكثر مما أتصور 😅🖐️

 

المهم  مع تطبيق الفترة الزمنية  ايضا مطابقة الأيام حسب الصلاحية

من صلاحيته ايام الاسبوع لايظهر في الجمعة والسبت

والعكس صحيح .. من صلاحيته نهاية الاسبوع يظهر  في الخميس والجمعة والسبت فقط

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

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

حسب فهمي البسيط للفكرة ، اسمحولي أن أشارك بهذه الفكرة البسيطة ، حيث في الاستعلام Query2 الفكرة الأولى والتي اعتقد انها لا تعتمد على ان يوم الخميس مشترك ، وفي الاستعلام النهائي Query3 اعتقد انه هو المطلوب ( ما لم أكن قد فهمت الفكرة بشكل متسرع كالعادة 🤣 )

 

SELECT c.usrID, d.work_name AS [نوع العمل], f.fatra_name AS الفترة, f.first_time AS [وقت البداية], f.last_time AS [وقت النهاية], TimeValue(Now()) AS [الوقت الحالي], Format(Date(),"dddd",1) AS [اليوم الحالي]
FROM (tblFatrat AS f INNER JOIN tblCtrlDetails AS c ON f.fatraid = c.fatraType) INNER JOIN tblDaysWork AS d ON c.workType = d.workID
WHERE (((f.first_time)<=TimeValue(Now())) AND ((f.last_time)>=TimeValue(Now())) AND ((c.workType)=1) AND ((Weekday(Date())) Between 1 And 5)) OR (((f.last_time)<[f].[first_time]) AND ((TimeValue(Now()))>=[f].[first_time] Or (TimeValue(Now()))<=[f].[last_time]) AND ((c.workType)=1) AND ((Weekday(Date())) Between 1 And 5)) OR (((f.first_time)<=TimeValue(Now())) AND ((f.last_time)>=TimeValue(Now())) AND ((c.workType)=2) AND ((Weekday(Date())) In (5,6,7))) OR (((f.last_time)<[f].[first_time]) AND ((TimeValue(Now()))>=[f].[first_time] Or (TimeValue(Now()))<=[f].[last_time]) AND ((c.workType)=2) AND ((Weekday(Date())) In (5,6,7)));

image.png.401f8314226ea586d1732f53ac86d0c7.png

 

Database2.accdb

 

 

 

تم تعديل بواسطه Foksh
قام بنشر
36 دقائق مضت, Foksh said:

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

حسب فهمي البسيط للفكرة ، اسمحولي أشارك بهذا الاستعلام :-

اهلا اخي @Foksh

وااااااو  الأمر معقد بالنسبة لي  باستخدام استعلامات وسيطة ومعايير  كثيرة

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

الوقت او الفترة وتم التعامل معها بشكل مباشر بسيط في مثال الأخ موسى

بقي الأيام  اتوقع ان عمل دالة  تستكشف اليوم الحالي مع ربط اليوزر بهذا اليوم حسب صلاحيته  هو الأفضل

قام بنشر

وجدت حلا 

عملت دالة بل اثنتين .. لأن يوم الخميس مشترك

هذه لوسط الاسبوع جميع الأيام ..... ولآخر الاسبوع فقط الجمعة والسبت
Public Function funDayInweek()
Dim i As Integer
If Weekday(Date) >= 1 And Weekday(Date) <= 5 Then
i = 1
funDayInweek = i
ElseIf Weekday(Date) >= 6 And Weekday(Date) <= 7 Then
i = 2
End If
funDayInweek = i
End Function
  
                                               
  ثم عملت الثانية وخصصتها لنهاية الاسبوع يوم الخميس فقط
 
Public Function funDayInweek5()
If Weekday(Date) = 5 Then
funDayInweek5 = 2
Else
funDayInweek5 = Null
End If
End Function

يوجد في المثال نسخة طبق الأصل من الدالتين .. استبدلت فيها دالة استخراج اليوم  بمتغير  .. من اجل الفحص والتأكد من النتيجة

Database3.rar

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.

  • تصفح هذا الموضوع مؤخراً   1 عضو متواجد الان

×
×
  • اضف...

Important Information