อ้างอิงวันที่และเวลาจากเครื่อง MS server อย่างไร
กระทู้เก่าบอร์ด อ.Yeadram

 2,538   10
URL.หัวข้อ / URL
อ้างอิงวันที่และเวลาจากเครื่อง MS server อย่างไร

เรามีวิธีอ้างอิงวันที่และเวลาจากเครื่องแม่ผู้ให้บริการ( MS SQL server)ใช้ fungtion หรือ เขียน Code VBA อย่างไรครับ ไม่อยากบันทึกวันที่และเวลาอ้างอิงจากเครื่องลูกเพราะเวลาบันทึกข้อมูลแล้ววันที่จากเครื่องลูกไม่เป็นปัจจุบันทำให้ข้อมูลที่ได้ไม่ถูกต้องบางครั้ง

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

1 @R14348
สามารถใช้ Strored Procedure หรือ Trigger จาก Server กำหนดค่าด้วย function GetDate() ได้เลยครับ ไม่ต้องมา code ที่ Access
2 @R14349
ปกติเราจะใช้วิธีซิงโครไนซ์เวลาระหว่างเครื่องต่างๆในเน็ทเวิร์คให้เหมือนกันกับเครื่องเซิฟเวอร์เป็นระยะๆมากกว่า ถ้าใช้ๆไปแล้วเกิดไม่ตรงกันอีก แปลว่าเครื่องคอมฯของคุณหรือเครื่องเซิฟเวอร์เสียสักเครื่องแล้วหล่ะ

http://support.microsoft.com/kb/939322

http://support.microsoft.com/kb/307897
3 @R14356
ขอบคุณครับสำหรับคำแนะนำต่างๆ
4 @R14358
ใช้ OS ของ Microsoft ทั้งหมดหรือเปล่าครับ ถ้าใช่ ง่ายสุดใช้ Command Line เรียก net time ครับ
เช่น Server ผม IP 192.168.1.6 (หรือชื่อก็ได้ \\PC-Server) ผมต้องการให้เครื่องลูก Sync เวลากับเครื่อง Server
1. ผมอาจเขียน Autoexec.bat เรียกตอนเปิดเครื่องลูกแต่ละเครื่อง
2. ใช้ Shell เรียกคำสั่งตอนเปิดโปรแกรม MS Access ก็ได้
คำสั่ง:
ที่ C:\> net time \\192.168.1.6 /set /yes

ประมาณนี้ครับ นิยมทำกันทั่วไป
5 @R14359
เพิ่มเติมคำสั่งพิมพ์ net time /querysntp
6 @R14367
เรียน อาจารย์ TTT อธิบายเพิ่มเติมอีกนิดครับ
เนื่องจากน่าสนใจ พร้อมทั้ง
ใช้ OS ของ Microsoft ทั้งหมดหรือเปล่าครับ ถ้าใช่ ง่ายสุดใช้ Command Line เรียก net time ครับ ขออนุญาตขอชุดคำสั่ง ข้อที่ 1 ครับ

เช่น Server ผม IP 192.168.1.6 (หรือชื่อก็ได้ \\PC-Server) ผมต้องการให้เครื่องลูก Sync เวลากับเครื่อง Server
1. ผมอาจเขียน Autoexec.bat เรียกตอนเปิดเครื่องลูกแต่ละเครื่อง
2. ใช้ Shell เรียกคำสั่งตอนเปิดโปรแกรม MS Access ก็ได้
คำสั่ง:
ที่ C:\> net time \\192.168.1.6 /set /yes
ขอคุณมากครับ
7 @R14368
เอ่อ! ข้อ1 คงใช้ไม่ได้แล้วหละครับ ผมลืมไปว่ามันเป็นคำสั่งที่ต้องผ่าน Network กว่าเครื่องจะบูตจนระบบ Network พร้อมทำงานคงผ่าน Autoexec.bat ไปแล้ว หรือแม้แต่ Startup ใน windows เองก็คงไม่ได้เช่นกัน เลยข้อแก้ไข แนะนำให้ทำใน Autoexec ของ Macro แทนครับ
คือหลักการไม่มีอะไรมากเพียงแค่คุณเรียกคำสั่ง Net Time ... ใน Command Prompt ไปยังเครื่องเป้าหมาย ตามด้วยพารามิเตอร์ /set หากสามารถติดต่อกับเครื่องเป้าหมายได้ เครื่องก็จะถูกเซ็ทเวลาตามเครื่องเป้าหมายเท่านั้นเอง คุณจะไปเรียกที่ไหน เมื่อไหร่ก็แล้วแต่ความเหมาะสมครับ
ปล. คุณก๊อปปี้คำที่ผมพิมพ์มาแปะไว้สื่ออะไรหรือครับ ผมอ่านแล้วไม่เข้าใจ ยิ่งงง
8 @R14370
ขอคุณอาจารย์TTT มากครับ ขอโทษครับผมแทรกผิดเองครับ จะลองนำไปประยุกต์ใช้งานดูครับ
9 @R20735
ถ้าเป็นการอ่านวันที่และเวลาจากเครื่องแม่ โดยไม่ต้อง Sync ได้มั้ยคะ เนื่องจากเครื่องลูกถูกจำกัดสิทธิ์ให้เป็น Standard User ไม่สามารถ set date/time ได้ จึงทำให้ใช้วิธี Sync เวลาจากเครื่องแม่ไม่ได้ค่ะ และถ้าทำได้จะต้องเขียน Code อย่างไร
10 @R20744
ถ้าผู้ใช้ถูกกำหนดสิทธิ์เป็น Standard User ผมว่ายากที่จะทำเครื่อง User นะครับ
จริงๆ อ่ะ ต้องไปทำที่เครื่อง Server ครับ ถ้าใช้เป็น Domain จะง่ายมาก ให้ admin เขียนสคริปกำหนดให้ตอน login เข้า Domain ของผู้ใช้แต่ละคนแล้วเรียกคำสั่งเซ็ทเวลาเท่ากันเครื่อง ip เป้าหมายได้เลยครับ อย่างนั้นง่ายสุด

ปล. เท่าที่คิดออกตอนนี้แค่น่าจะอ่านเวลาของเครื่อง server มาดูได้ แค่นั้น แต่ไม่สามารถกำหนดเวลาเครื่องเราด้วยโค๊ดได้ครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3155s