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

نام تاپیک: مشکل در محسابه زمان کارکرد

  1. #1
    کاربر دائمی آواتار linktaz
    تاریخ عضویت
    دی 1387
    محل زندگی
    C:\WINDOWS\Temp
    پست
    309

    مشکل در محسابه زمان کارکرد

    با سلام
    دوستان ،من یه مشکلی در فایلم برخوردم
    تیبل من بدین شکله،اما وقتی زمان پایان رو میخواد از زمان شروع کم کنه در مواقعی که روز عوض میشه کلا اشتباه میکنه.درواقع 01:30 رو منهای 23 میکنه اشتباه میشه.
    راهکارش چیه؟

    تاریخ شرح کار زمان شروع زمان پایان میزان کارکرد
    960902 جابجایی پالت 07:30 08:30 01:00
    960902 جابجایی باکس 23:00 01:30 ؟
    فایل های ضمیمه فایل های ضمیمه
    • نوع فایل: zip 1.zip‏ (99.7 کیلوبایت, 21 دیدار)

  2. #2

    نقل قول: مشکل در محسابه زمان کارکرد

    یه تابع شرطی ایجاد کن بدین صورت که اگر ارقام ساعت پایان کوچکتر از ساعت شروع باشه مثل همین حالت که توضیح دادین زمان شروع را از ساعت 24:00 کم کنه و به ساعت پایان اضافه کنه
    a = "زمان شروع"
    b = "زمان پايان"
    c = "مدت انجام"
    If a < b Then
    c = b - a
    Else
    c = 24 - a + b
    End If

  3. #3
    کاربر دائمی آواتار linktaz
    تاریخ عضویت
    دی 1387
    محل زندگی
    C:\WINDOWS\Temp
    پست
    309

    نقل قول: مشکل در محسابه زمان کارکرد

    نقل قول نوشته شده توسط n_ali27 مشاهده تاپیک
    یه تابع شرطی ایجاد کن بدین صورت که اگر ارقام ساعت پایان کوچکتر از ساعت شروع باشه مثل همین حالت که توضیح دادین زمان شروع را از ساعت 24:00 کم کنه و به ساعت پایان اضافه کنه
    a = "زمان شروع"
    b = "زمان پايان"
    c = "مدت انجام"
    If a < b Then
    c = b - a
    Else
    c = 24 - a + b
    End If
    ممنونم از راهنماییتون،اما اینکارو کردم جواب نمیده،یعنی چون فرمت من زمان هستش به مشکل میخورم،اگر نمونه فایلم رو مشاهده بفرمائید و اطلاعاتی که در تیبل مربوطه ذخیره میشه متوجه میشید

  4. #4

    نقل قول: مشکل در محسابه زمان کارکرد

    یه سری به این تایپیک بزن
    https://barnamenevis.org/showthread.p...B9%D8%A7%D8%AA

  5. #5
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,055

    نقل قول: مشکل در محسابه زمان کارکرد

    نقل قول نوشته شده توسط n_ali27 مشاهده تاپیک
    یه تابع شرطی ایجاد کن بدین صورت که اگر ارقام ساعت پایان کوچکتر از ساعت شروع باشه مثل همین حالت که توضیح دادین زمان شروع را از ساعت 24:00 کم کنه و به ساعت پایان اضافه کنه
    a = "زمان شروع"
    b = "زمان پايان"
    c = "مدت انجام"
    If a < b Then
    c = b - a
    Else
    c = 24 - a + b
    End If
    در حالت کلی صادق نیست مگر اینکه در شرایط خاصی باشیم که مطمئن هستیم پروسه ما هیچگاه بیشتر از 24 ساعت نیست.
    ممکن هست شروع ساعت 7 و پایان ساعت 22 روز بعد باشه.

  6. #6
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,055

    نقل قول: مشکل در محسابه زمان کارکرد

    نقل قول نوشته شده توسط linktaz مشاهده تاپیک
    با سلام
    دوستان ،من یه مشکلی در فایلم برخوردم
    تیبل من بدین شکله،اما وقتی زمان پایان رو میخواد از زمان شروع کم کنه در مواقعی که روز عوض میشه کلا اشتباه میکنه.درواقع 01:30 رو منهای 23 میکنه اشتباه میشه.
    راهکارش چیه؟

    تاریخ شرح کار زمان شروع زمان پایان میزان کارکرد
    960902 جابجایی پالت 07:30 08:30 01:00
    960902 جابجایی باکس 23:00 01:30 ؟
    وقتی محاسبه روی تاریخ و ساعت نیاز دارین حتما باید تاریخ کامل رو ذخیره کنین (دیتا از نوع date-time)
    یعنی علاوه بر تاریخ فارسی باید معادل میلادی رو هم ذخیره و محاسبات رو روی تاریخ میلادی انجام بدین.

    مشکل شما این هست که بجای زمان واقعی (شامل تاریخ و ساعت) فقط ساعت ذخیره میکنین. بنابراین مجبور هستین بجای یک عملیات ساده، که خود اکسس انجام میده، خودتون ساعت ها رو مقایسه و عملیات اضافی انجام بدین که اون هم فقط و فقط وقتی نتیجه درست میده که مطمئن باشین پروسه بیشتر از 24 ساعت نیست.

    در هر صورت،
    روش این هست که یک تاریخ مرجع در نظر بگیرین، مثلا اول ژانویه 2000 ، و دو تاریخ بسازین بر اساس این تاریخ مرجع و ساعت های شروع و پایان.
    حالا با datediff راحت میتونین محاسبه کنین.

  7. #7
    کاربر دائمی آواتار linktaz
    تاریخ عضویت
    دی 1387
    محل زندگی
    C:\WINDOWS\Temp
    پست
    309

    نقل قول: مشکل در محسابه زمان کارکرد

    نقل قول نوشته شده توسط mazoolagh مشاهده تاپیک
    وقتی محاسبه روی تاریخ و ساعت نیاز دارین حتما باید تاریخ کامل رو ذخیره کنین (دیتا از نوع date-time)
    یعنی علاوه بر تاریخ فارسی باید معادل میلادی رو هم ذخیره و محاسبات رو روی تاریخ میلادی انجام بدین.

    مشکل شما این هست که بجای زمان واقعی (شامل تاریخ و ساعت) فقط ساعت ذخیره میکنین. بنابراین مجبور هستین بجای یک عملیات ساده، که خود اکسس انجام میده، خودتون ساعت ها رو مقایسه و عملیات اضافی انجام بدین که اون هم فقط و فقط وقتی نتیجه درست میده که مطمئن باشین پروسه بیشتر از 24 ساعت نیست.

    در هر صورت،
    روش این هست که یک تاریخ مرجع در نظر بگیرین، مثلا اول ژانویه 2000 ، و دو تاریخ بسازین بر اساس این تاریخ مرجع و ساعت های شروع و پایان.
    حالا با datediff راحت میتونین محاسبه کنین.
    قطعا حق با شماست.پروسه که قطعا از 24 ساعت بیشتر نیست
    اما آیا امکانش هست در یک فایل اکسس ،نمونه را اجرا فرمائید.ممنون میشم

  8. #8
    کاربر دائمی آواتار linktaz
    تاریخ عضویت
    دی 1387
    محل زندگی
    C:\WINDOWS\Temp
    پست
    309

    نقل قول: مشکل در محسابه زمان کارکرد

    سلام
    جناب mazoolagh امکانش هس نمونه ارسال فرمائید؟

  9. #9
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,055

    نقل قول: مشکل در محسابه زمان کارکرد

    CONST DX AS DATE = "1/1/2000 00:00:00"
    FUNCTION TimeDiff(StartTime AS DATE , StopTime AS DATE) AS DATE
    DIM T AS LONG
    T = DATEDIFF("s" , DX , StopTime) - DATEDIFF("s" , DX , StartTime)
    TimeDiff = TIMEVALUE(DATEADD("s" , T , DX))
    END FUNCTION

  10. #10
    کاربر دائمی آواتار linktaz
    تاریخ عضویت
    دی 1387
    محل زندگی
    C:\WINDOWS\Temp
    پست
    309

    نقل قول: مشکل در محسابه زمان کارکرد

    نقل قول نوشته شده توسط mazoolagh مشاهده تاپیک
    CONST DX AS DATE = "1/1/2000 00:00:00"
    FUNCTION TimeDiff(StartTime AS DATE , StopTime AS DATE) AS DATE
    DIM T AS LONG
    T = DATEDIFF("s" , DX , StopTime) - DATEDIFF("s" , DX , StartTime)
    TimeDiff = TIMEVALUE(DATEADD("s" , T , DX))
    END FUNCTION
    "s"رو تعریف نکردید/منظورتون همون starttime?

  11. #11
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,055

    نقل قول: مشکل در محسابه زمان کارکرد

    "s" متغیر نیست که نیاز به تعریف داشته باشه!
    یک ثابت حرفی است که بعنوان پارامتر تابع استفاده شده.

    مستندات توابع DATEDIFF و DATEADD رو ببینین.

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

  1. مشکل در نمایش زمان سیستم
    نوشته شده توسط Hamishebahar در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 1
    آخرین پست: یک شنبه 25 مهر 1389, 21:30 عصر
  2. مبتدی: مشکل در محاسبه زمان
    نوشته شده توسط alinoori76 در بخش Access
    پاسخ: 5
    آخرین پست: یک شنبه 20 دی 1388, 20:24 عصر
  3. مشكل در متغير زمان
    نوشته شده توسط seyyedalith در بخش C#‎‎
    پاسخ: 4
    آخرین پست: شنبه 23 شهریور 1387, 14:03 عصر
  4. مشکل در مقایسه زمان
    نوشته شده توسط hamedgh در بخش C#‎‎
    پاسخ: 5
    آخرین پست: یک شنبه 11 آذر 1386, 19:41 عصر
  5. مشکل در مقایسه زمان
    نوشته شده توسط hamedgh در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: شنبه 10 آذر 1386, 09:51 صبح

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

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