ปรึกษาอาจารย์สุภาพ...การแสดงเวลา
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 290   4
URL.หัวข้อ / URL
ปรึกษาอาจารย์สุภาพ...การแสดงเวลา

อาจารย์ครับผมดึงโปรแกรมไปใช่ 2-3 เครื่อง(ระบบแลน) ในโปรแกรมผมให้แสดงชื่อ - นามสกุล และเวลาที่ทำงานบาง หลังจากรับรหัสมาแล้ว เครื่องก็แสดงเป็น 24 ชม. แต่บางเครื่องก็แสดงเป็น 12 ชม. (แถมกลางวันยังแสดงเป็น PM ีอีก) ผมเลยไม่เข้าว่าทำไมถึงเป็นอย่างนี้ ซึ่งผมตรวจสอบรูปแบบเวลาใน Control Panel แต่ละเครื่องแล้วก็เหมือนกัน ผมต้องการให้แสดงเป็น 24 ชม. ตรงที่ส่วนแสดงครับ

รบกวนอาจารย์ช่วยแนะนำด้วยครับ ขอบคุณครับ
-แสดงตอนรับเวลาเข้า
Text4 = DLookup("[Prefix]+[Name]", "History", "Id_Teacher = '" & Text0 & "'")
Text4 = Text4 & " " & DLookup("[Lastname]", "History", "Id_Teacher = '" & Text0 & "'") & " " & " เข้างานเวลา " & Text3

-แสดงตอนรับเวลาออก
Text4 = DLookup("[Prefix]+[Name]", "History", "Id_Teacher = '" & Text0 & "'")
Text4 = Text4 & " " & DLookup("[Lastname]", "History", "Id_Teacher = '" & Text0 & "'") & " " & " ออกงานเวลา " & Text3

4 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R03342
ลองดู Time Format ว่าต่างกันอย่างไรของทั้ง 2 เครื่องครับ

ถ้า H ตัวใหญ่ จะเป็น แบบ 24 ชั่วโมง

ถ้า h ตัวเล็ก จะเป็น 12 ชั่วโมง

2 @R03343
เหมือนกันครับอาจารย์
3 @R03344
ไม่ทราบว่าใช้ Access เวอร์ชันไหน และ OS เป็นอะไร ต่างกันมั๊ย ซึ่งอาจจะมีผลต่อการแสดงเวลาดังกล่าว

การเก็บเวลาเข้าออก เก็บไว้ในไฟล์ Text หรือ ใน Access และฟีลด์เป็น DateTime หรือเปล่า

ถ้าเป็นแบบหลัง การแสดงผลเป็นแบบไหนก็ไม่มีปัญหาต่อกาาคำนวณครับ เพราะการเก็บฟีลด์แบบ DateTime มันเก็บเป็น Double และการแสดงจะออกมาตาม Format ที่ได้จัดไว้

ลองดูจากตัวอย่างนี้ครับ

? now
5/6/2546 10:28:26
(เวลาปัจจุบันในเครื่องฯ ผม)

? datediff("h",now,#5 june 2003 3:00:00 PM#)
5
(ลองหาผลต่างเป็น ชั่วโมง กับเวลาบ่าย 3 ตรงวันนี้ จะได้ 5 ชั่วโมงถูกต้อง)

หรือแบบนี้ครับ

? Cdbl(now) & " " & now
37777.4386805556 5/6/2546 10:31:42
(แปลงเวลาปัจจุบันให้เป็น Double จะได้ 37777.4386805556)

เมื่อนำค่ามาแปลงเป็นวันที่ จะได้
? CDate(37777.4386805556)
5/6/2546 10:31:42

หรือจะลองเปรียบเทียบแบบ 24 กับ 12 ดูก็ได้

? CDbl(#5/6/2546 10:31:42 PM#)
236074.938680556

? CDbl(#5/6/2546 22:31:42#)
236074.938680556

ได้ค่าออกมาเท่ากันครับ
4 @R03345
มันจะเกี่ยวกันเวลาที่ Set ไว้ในเครื่องหรือเปล่าครับที่ Control Panel / Regional Setting / Date เซ็ตค่าเวลาเหมือนกันหรือเปล่า (มันน่าจะเป็นอย่างนั้น)
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0518s