reza_1199
جمعه 13 بهمن 1402, 00:32 صبح
سلام و عرض ادب خدمت دوستان و اساتید
دوستان یک جدولی دارم که در زمان ثبت اطلاعات بنا بر شرایط کاری که شیفت بصورت 24 ساعته هست از 07:30 صبح آغاز میشه و تا فردا صبح ساعت 07:30 ادامه دارد و شیفت ها به صورت 12 ساعته شیفت اول و دوم می باشد برای این منظور در هنگام ذخیره اطلاعات در جدول دستورات زیر را در قسمت time فرم نوشته ام
If Time() > #7:45:00 AM# And Time() < #7:45:00 PM# Then
Me.Text1.Value = Shamsi()
Me.Text0.Value = "شيفت اول"
ElseIf Time() > #7:45:00 PM# And Time() < #11:59:59 PM# Then
Me.Text1.Value = Shamsi()
Me.Text0.Value = "شيفت دوم"
ElseIf Time() > #12:00:00 AM# And Time() < #7:45:00 AM# Then
Me.Text1.Value = Shamsi()
Me.Text1 = Slash(SubDay([Text1], [Text3]))
Me.Text0.Value = "شيفت دوم"
End If
و تایم اینتروال رو برابر 1000 قرار داده ام و به منظور اینکه از بعد از ساعت دوازده شب تاریخ باز به صورت روز قبل باشه یک روز از تاریخ بعد از ساعت 12 شب کم می کنم و تا اینجا به نظرم مشکلی نیست
همچنین در این فرم یه زمان حذف برای کاربران در نظر گرفته ام که با توجه به کد زیر هنگام ذخیره کردن اطلاعات دو دقیقه زمان حذف بروی زمان ذخیره اطلاعات اضافه می کنم تا در این 120 ثانیه کاربران بتوانند اشتباهات پیش آمده را حذف کنند
Dim timea As Date
Dim timeb As Date
timea = Format(Now(), "hh:mm:ss")
rst!timeshow = DateAdd("s", 120, timea)
و این کد هم به درستی کار میکنه ولی یه مشکل کوچولو از زمانی شروع میشه که
از ساعت 07:30 تا 23:59:59 قانون حذف کردن درست کار میکند . ولی بعد از ساعت دوازده شب همه رکوردهای ثبت شده که از صبح ثبت شده و زمان حذف آن گذشته به صورت آزاد جهت حذف کردن قرار می گیره و حتی بعد از ساعت دوازده که اطلاعات ثبت شده اون 120 ثانیه اعمال نمیشه و باز کاربر به راحتی میتونه حذف کنه .
ممنون میشم اساتید و دوستان راهنمایی کنن سپاس
دوستان یک جدولی دارم که در زمان ثبت اطلاعات بنا بر شرایط کاری که شیفت بصورت 24 ساعته هست از 07:30 صبح آغاز میشه و تا فردا صبح ساعت 07:30 ادامه دارد و شیفت ها به صورت 12 ساعته شیفت اول و دوم می باشد برای این منظور در هنگام ذخیره اطلاعات در جدول دستورات زیر را در قسمت time فرم نوشته ام
If Time() > #7:45:00 AM# And Time() < #7:45:00 PM# Then
Me.Text1.Value = Shamsi()
Me.Text0.Value = "شيفت اول"
ElseIf Time() > #7:45:00 PM# And Time() < #11:59:59 PM# Then
Me.Text1.Value = Shamsi()
Me.Text0.Value = "شيفت دوم"
ElseIf Time() > #12:00:00 AM# And Time() < #7:45:00 AM# Then
Me.Text1.Value = Shamsi()
Me.Text1 = Slash(SubDay([Text1], [Text3]))
Me.Text0.Value = "شيفت دوم"
End If
و تایم اینتروال رو برابر 1000 قرار داده ام و به منظور اینکه از بعد از ساعت دوازده شب تاریخ باز به صورت روز قبل باشه یک روز از تاریخ بعد از ساعت 12 شب کم می کنم و تا اینجا به نظرم مشکلی نیست
همچنین در این فرم یه زمان حذف برای کاربران در نظر گرفته ام که با توجه به کد زیر هنگام ذخیره کردن اطلاعات دو دقیقه زمان حذف بروی زمان ذخیره اطلاعات اضافه می کنم تا در این 120 ثانیه کاربران بتوانند اشتباهات پیش آمده را حذف کنند
Dim timea As Date
Dim timeb As Date
timea = Format(Now(), "hh:mm:ss")
rst!timeshow = DateAdd("s", 120, timea)
و این کد هم به درستی کار میکنه ولی یه مشکل کوچولو از زمانی شروع میشه که
از ساعت 07:30 تا 23:59:59 قانون حذف کردن درست کار میکند . ولی بعد از ساعت دوازده شب همه رکوردهای ثبت شده که از صبح ثبت شده و زمان حذف آن گذشته به صورت آزاد جهت حذف کردن قرار می گیره و حتی بعد از ساعت دوازده که اطلاعات ثبت شده اون 120 ثانیه اعمال نمیشه و باز کاربر به راحتی میتونه حذف کنه .
ممنون میشم اساتید و دوستان راهنمایی کنن سپاس