กระทู้เก่าบอร์ด อ.Yeadram
3,046 5
URL.หัวข้อ /
URL
ต้องการแปลงตัวเลขให้เป็นเวลาทำอย่างคะ
ดิฉันมี database ที่เก็บเวลา เมื่อมีผู้มารับบริการชึ่งจริงๆแล้วต้องการให้รับในวันนั้น
Date =วันที่จะมารับ Time =เวลาจะมารับบริการ
SerDate =วันที่มารับ sertime =เวลาที่มารับบริการ
เมื่อคิดเวลารอคอย ดิฉันจะนำ Field Date-Field SerDate , Field sertime-Field Time ก็จะเป็นวันที่และเวลาที่รอรับบริการ
ปัญหาเป็นอย่างนี้คะ หากผู้มารับบริการจองไว้แต่มารับบริการต่างวัน
ทำให้ Field sertime-Field Time บางครั้งมีค่ามี่เป็นลบ ไม่ทราบจะแก้ปัญหาอย่างไรดีคะ เคยพยายามเอา Field Date-Field SerDate ซึ่งเป็นตัวเลขเต็ม แปลงเป็นเวลา มันจะเป็น 00:00:00 ทั้งหมด ไม่สามารถที่จ+/-กับField sertime-Field Time ได้คะ
ขอบพระคุณคะ
Date =วันที่จะมารับ Time =เวลาจะมารับบริการ
SerDate =วันที่มารับ sertime =เวลาที่มารับบริการ
เมื่อคิดเวลารอคอย ดิฉันจะนำ Field Date-Field SerDate , Field sertime-Field Time ก็จะเป็นวันที่และเวลาที่รอรับบริการ
ปัญหาเป็นอย่างนี้คะ หากผู้มารับบริการจองไว้แต่มารับบริการต่างวัน
ทำให้ Field sertime-Field Time บางครั้งมีค่ามี่เป็นลบ ไม่ทราบจะแก้ปัญหาอย่างไรดีคะ เคยพยายามเอา Field Date-Field SerDate ซึ่งเป็นตัวเลขเต็ม แปลงเป็นเวลา มันจะเป็น 00:00:00 ทั้งหมด ไม่สามารถที่จ+/-กับField sertime-Field Time ได้คะ
ขอบพระคุณคะ
5 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R11427
ให้เก็บลง field เดียวกันครับ
DateTime = วัน เวลาที่จะมีรับบริการ
SerDateTime = วัน เวลาที่มารับริการ
datediff("h",SerDateTime,DateTime )
DateTime = วัน เวลาที่จะมีรับบริการ
SerDateTime = วัน เวลาที่มารับริการ
datediff("h",SerDateTime,DateTime )
3 @R11428
ขอบคุณคะ PichaiTC แต่ทำไม่ได้คะ เนื่องจากเป็น file สำเร็จรูปที่ดิฉันต้องนำมาคิด เพราะบางครั้งผู้มารับบริการห่างเป็น 7-8 วันคะ
แต่ส่วนใหญ่มาในวันที่นัดให้บริการ
ตัวอย่าง SerDate 14/10/2011 sertime 9:15:35
Date 12/10/2001 Time 10:15:55
datediff("d",SerDate,Date )=2 และ Sertime-Time=1:00:20(เวลาเป็นค่าลบ)
จริงๆแล้วต้องเป็นเวลา 2 วันกับ 1:00:20 ชม.
ดิฉันจึงใช้สูตรนึ้คะ
T1:datediff("s",SerDate,Date )
T2:datediff("s",Sertime ,Time)
แล้ว t1+t2
มันจะเป็นวินาที แต่ดิฉันไม่สามารถที่จะทำให้มันกลับเป็นค่า
d,hh:nn:ssได้คะ ขอบพระคุณคะ
แต่ส่วนใหญ่มาในวันที่นัดให้บริการ
ตัวอย่าง SerDate 14/10/2011 sertime 9:15:35
Date 12/10/2001 Time 10:15:55
datediff("d",SerDate,Date )=2 และ Sertime-Time=1:00:20(เวลาเป็นค่าลบ)
จริงๆแล้วต้องเป็นเวลา 2 วันกับ 1:00:20 ชม.
ดิฉันจึงใช้สูตรนึ้คะ
T1:datediff("s",SerDate,Date )
T2:datediff("s",Sertime ,Time)
แล้ว t1+t2
มันจะเป็นวินาที แต่ดิฉันไม่สามารถที่จะทำให้มันกลับเป็นค่า
d,hh:nn:ssได้คะ ขอบพระคุณคะ
4 @R11429
1. ให้ดีคือรวมตั้งแต่ที่ table ถ้าไม่ได้ก็รวมที่ code ครับ
AppointDateTime = [Date] + [Time]
ServiceDateTime = [SerDate] + [SerTime]
2. แล้วลบกันได้ตรงๆเลย จะได้ค่า เวลาต่าง
Delay = ServiceDateTime - AppointDateTime
3. ค่าของวันที่ คือค่า integer ของ datetime
DelayDay = Int(Delay)
4. ค่าของเวลา คือค่า หลังจุดทศนิยม ของ datetime ซึ่งถ้าต้องการแสดงแบบ hh:nn:ss อยู่แล้ว ไม่ต้องทำอะไร แค่กำหนด format หรือ วางใน textbox ที่เป็น format ดังกล่าว
DelayTime = Format(Delay, "hh:nn:ss")
AppointDateTime = [Date] + [Time]
ServiceDateTime = [SerDate] + [SerTime]
2. แล้วลบกันได้ตรงๆเลย จะได้ค่า เวลาต่าง
Delay = ServiceDateTime - AppointDateTime
3. ค่าของวันที่ คือค่า integer ของ datetime
DelayDay = Int(Delay)
4. ค่าของเวลา คือค่า หลังจุดทศนิยม ของ datetime ซึ่งถ้าต้องการแสดงแบบ hh:nn:ss อยู่แล้ว ไม่ต้องทำอะไร แค่กำหนด format หรือ วางใน textbox ที่เป็น format ดังกล่าว
DelayTime = Format(Delay, "hh:nn:ss")
5 @R11431
ได้แล้วคะ ขอบคุณคะ
Time: 0.3289s
T1= SerDate-Date และ T2= Sertime -Time( บางครั้งค่าที่แสดงออกเป็นลบแต่จะไม่มีเครื่องหมาย - ให้เห็น)หลังจากนั้นจะนำค่าทั้ง2 รวมกันเพื่อได้ค่าที่แท้จริง T1+T2 แต่ทำไม่ได้คะ
ดิฉันพยายามใช้ datediff("h",SerDate,Date )ออกมาเป็น ชม.แล้ว &:00&:00 มันก็ได้ค่าเป็น 48:00:00 แต่เมื่อมา +t2 (เข่น19:05:00)มันจะขึ้น error