نمایش نتایج 1 تا 6 از 6

نام تاپیک: مشکل زمان در شیفت 24 ساعته نامتعارف

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آبان 1390
    محل زندگی
    اردبیل
    پست
    194

    مشکل زمان در شیفت 24 ساعته نامتعارف

    سلام و عرض ادب خدمت دوستان و اساتید
    دوستان یک جدولی دارم که در زمان ثبت اطلاعات بنا بر شرایط کاری که شیفت بصورت 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 ثانیه اعمال نمیشه و باز کاربر به راحتی میتونه حذف کنه .
    ممنون میشم اساتید و دوستان راهنمایی کنن سپاس

  2. #2
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    797

    نقل قول: مشکل زمان در شیفت 24 ساعته نامتعارف

    سلام آقا رضا!
    فکر می کنم مشکل بخاطر اون یک روزی باشه که از تاریخ فعلی کم می کنی . چون با اینکار رکوردهای ثبت شده روز قبل در محدود مجاز زمان حذف قرار می گیرند.
    اگه حداقل اون فرمی که در اون کدهای مربوط به ثبت اطلاعات بکار برده ای به همراه جدول مربوطه از برنامت جدا میکردی و بصورت فایل نمونه ضمیمه میکردی راحتتر میشد بررسی کرد که دقیقا مشکل از کجاست.

  3. #3
    کاربر دائمی
    تاریخ عضویت
    آبان 1390
    محل زندگی
    اردبیل
    پست
    194

    نقل قول: مشکل زمان در شیفت 24 ساعته نامتعارف

    ممنون استاد حتما چشم بینهایت بخاطر حسن توجهتون سپاسگزارم .
    آقای بهرامی عزیز فایلم انقدر به هم ریخته ست که اگر امکانش باشه بخاطر حجم زیاد اگر مغایرتی نداره و بی ادبی نباشه به ایمیلتون ارسال کنم . (جمیل من asadpourreza2@gmail.com)
    آخرین ویرایش به وسیله reza_1199 : جمعه 13 بهمن 1402 در 15:38 عصر

  4. #4
    کاربر دائمی
    تاریخ عضویت
    آبان 1390
    محل زندگی
    اردبیل
    پست
    194

    نقل قول: مشکل زمان در شیفت 24 ساعته نامتعارف

    سلام شب خوش . استاد بزرگوار آقای بهرامی نمونه خدمت شما
    فایل های ضمیمه فایل های ضمیمه

  5. #5
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    797

    نقل قول: مشکل زمان در شیفت 24 ساعته نامتعارف

    نقل قول نوشته شده توسط reza_1199 مشاهده تاپیک
    یه مشکل کوچولو از زمانی شروع میشه که
    از ساعت 07:30 تا 23:59:59 قانون حذف کردن درست کار میکند . ولی بعد از ساعت دوازده شب همه رکوردهای ثبت شده که از صبح ثبت شده و زمان حذف آن گذشته به صورت آزاد جهت حذف کردن قرار می گیره و حتی بعد از ساعت دوازده که اطلاعات ثبت شده اون 120 ثانیه اعمال نمیشه و باز کاربر به راحتی میتونه حذف کنه .
    سلام
    دلیلش اینست که زمان های ثبت شده قبلی بزرگتر از زمان وارد شده جدید میباشه . شرطی که بکار برده ای صحیح نیست . شما برای حذف نشدن رکورد شرط گذاشته ای که اگر زمان های ثبت شده قبلی کوچکتر از زمان ثبت شده جدید بود بعد از گذشت 120 ثانیه امکان حذف وجود نداشته باشد و این شرط صحیح نمی باشد چرا که بلافاصله بعد از 12 شب زمان های ثبت شده قبلی از زمان جدید بزرگترند.
    راهکار اینست که اختلاف زمان ثبت شده قبلی با زمان جدید بدست آید و شرط گذاشته شود که اگر اختلاف این دو بیشتر از 120 ثانیه شد رکورد قابل حذف نباشه:
    در کدهای زیر اختلاف دو زمان فعلی و قبلی بر حسب ثانیه در متغییر DDiff قرار داده داده ام و بعد این عدد رو داخل تابع قدر مطلق abs قرار داده ام که اگر اختلاف دو زمان منفی بود عدد منفی به مثبت تبدیل شود .بعد شرط گذاشته ام که اگر این عدد بزرگتر از 120 شد پیغام عدم حذف رکورد صادر بشه
    این کدها رو جایگزین اون چند خط کد خودت که در رویداد حذف رکورد استفاده کرده ای بکن !

    Dim DDiff As Double
    Dim Timein As Date
    Dim Timeout As Date
    Timein = Text2
    Timeout = Text1
    DDiff = DateDiff("s", Timein, Timeout)
    If Abs(DDiff) > 120 Then
    Dim Y As String
    Y = MsgBox("زمان حذف اين مورد به پايان رسيده است!", vbOKOnly + vbCritical + vbMsgBoxRight, "هشدار/ به کاربر")
    Exit Sub
    End If

    آخرین ویرایش به وسیله eb_1345 : شنبه 14 بهمن 1402 در 06:04 صبح

  6. #6
    کاربر دائمی
    تاریخ عضویت
    آبان 1390
    محل زندگی
    اردبیل
    پست
    194

    نقل قول: مشکل زمان در شیفت 24 ساعته نامتعارف

    سلام و شب به خیر
    مثل همیشه عااااالی دستت درد نکنه استاد بهرامی ( یاااااااشاااااااا )

تاپیک های مشابه

  1. پاسخ: 0
    آخرین پست: دوشنبه 06 تیر 1401, 16:47 عصر
  2. پرستار کودک در منزل با تعرفه کم و شپتیبانی 24 ساعته
    نوشته شده توسط alirezam2160 در بخش بک لینک (Back Links)
    پاسخ: 0
    آخرین پست: دوشنبه 12 اسفند 1398, 14:46 عصر
  3. عادت ها و اعتقادات غلط ایرانی ها در رانندگی و نگهداری از خودرو
    نوشته شده توسط saleh.hi.62 در بخش گفتگوی عمومی کامپیوتر و فناوری اطلاعات
    پاسخ: 24
    آخرین پست: چهارشنبه 09 تیر 1389, 07:45 صبح
  4. ساعت 24 ساعته و 12 ساعته ؟
    نوشته شده توسط habedijoo در بخش VB.NET
    پاسخ: 9
    آخرین پست: شنبه 22 مرداد 1384, 01:50 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •