แก้ไข region setting
กระทู้เก่าบอร์ด อ.Yeadram

 1,529   9
URL.หัวข้อ / URL
แก้ไข region setting

ทำไง

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

1 @R21224
ขอบคุณอาจาย์ สันติสุข ที่ส่ง link ไว้ให้ http://www.thai-access.com/yeadram_view.php?topic_id=2724
แต่ผมอ่านแล้วไม่เข้าใจเลยครับ

จาก
http://www.thai-access.com/yeadram_view.php?topic_id=4837
2 @R21225
รบกวนอาจารย์ครับ ผมอยากให้เวลา On Lode ของฟอร์มที่ชื่อ Maine_Forms
ขึ้นมาแล้วให้แก้ไข region setting ของเครื่อง ให้เป็น English (United States) ปีค.ศ. ในรูปแบบ " dd/MM/yy " ทุกครั้งที่ทีการเปิดฟอร์มนี้(ต้องเขียน Code ยังไง) วางไว้ตรงไหนรบกวนอาจารย์ช่วยชี้แนะที ผมออกตัวไว้ก่อนเลยครับผมไม่เก่งเรื่อง Code
3 @R21227
อาจารย์ครับ ผมทำได้แล้วครับ หาข้อมูลมาหลายวัน ง่ายกว่าที่ อาจาย์ สันติสุข แต่ก็ไม่รูจะมีข้อเสียอะไรไหม อาจาร์ยช่วยแนะนำที

ใช้วิธีแก้ regedit เลยครับ
4 @R21232
ตามลิงค์ที่ให้ไป ไม่ตรงกับความต้องการของคุณตรงๆ เอาเป็นว่าถ้าคุณแก้ผ่าน regedit ได้ก็ดีแล้วครับ ยังไงแล้วก็ป้องกันไม่ได้ 100% เพราะผู้ใช้ก็สามารถแก้กลับไปได้ด้วยตัวเองอยู่ดี ทางที่ดีก็ควรเช็คหรือกำหนดเงื่อนไขที่ตัวฐานข้อมูลไปเลยว่าปีต้องอยู่ระหว่างปีไหนถึงปีไหน เช่นให้ได้เฉพาะปี ค.ศ. 2000 ถึง 2030 เท่านั้น
5 @R21233
ขอบคุณครับอาจารย์
6 @R21237
ผมไม่ได้เก่งอะไรมากมายนัก แต่หวังว่าวิธีการที่ผมทำพอจะเป็นประโยชน์สำหรับคนอื่นได้บ้าง ดังนี้ครับ



1. ผมสร้าง TextBox ขึ้นมาให้ แหลงตัวควบคุม........
=IIf(Val(Format(Now(),"yyyy")=Year(Now())),"ค.ศ.","พ.ศ.")
    ใช้เพื่อเช็คว่าเครื่องนั้นๆมีรูปแบบ "ค.ศ." หรือ "พ.ศ."



2. ผมใส้ Event ไว้ที่ On load ถ้าต้องการเปิด Maine_Forms แล้วต้องการแก้ให้เครื่องอยู่ในรูปแบบเป็น "ค.ศ."




Option Compare Database
Option Explicit
Dim MyWS As Object
--------------------------------------------------------------------------------
Private Sub Form_Load()
'ใช้แก้เป็นปี ค.ศ
Set MyWS = CreateObject("WScript.Shell")
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\iCalendarType", "7", "REG_SZ"
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\iCountry", "44", "REG_SZ"
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\iDate", "1", "REG_SZ"
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\iFirstDayOfWeek", "0", "REG_SZ"
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\iMeasure", "0", "REG_SZ"
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\iNegCurr", "1", "REG_SZ"
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\Locale", "00000809", "REG_SZ"
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\sCountry", "United States", "REG_SZ"
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\sLanguage", "ENG", "REG_SZ"
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\sShortDate", "DD/MM/YY", "REG_SZ"
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\Nation", "227", "REG_SZ"
SendKeys "%{F9}", False



   
End Sub



======================================================




3. แต่ถ้าต้องการแก้ให้เครื่องอยู่ในรูปแบบเป็น "พ.ศ." ผมก็จะใส้ Event ไว้ที่ On load ของ Maine_Forms ดังนี้ครับ



Option Compare Database
Option Explicit
Dim MyWS As Object
---------------------------------------------------------------------------------------
Private Sub Form_Load()
'ใช้แก้เป็นปี พ.ศ.
Set MyWS = CreateObject("WScript.Shell")
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\iCalendarType", "7", "REG_SZ"
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\iCountry", "66", "REG_SZ"
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\iDate", "1", "REG_SZ"
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\iFirstDayOfWeek", "0", "REG_SZ"
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\iMeasure", "0", "REG_SZ"
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\iNegCurr", "1", "REG_SZ"
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\Locale", "0000041E", "REG_SZ"
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\sCountry", "Thailand", "REG_SZ"
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\sLanguage", "THA", "REG_SZ"
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\sShortDate", "DD/MM/YY", "REG_SZ"
MyWS.RegWrite "HKEY_CURRENT_USER\Control Panel\International\Nation", "227", "REG_SZ"
SendKeys "%{F9}", False




End Sub
7 @R21239
แก้ไขนิดนะครับตรง "DD/MMYY" เป็น "dd/MM/yy"
8 @R21243
ขอบคุณ คุณวิษณุ นะครับ แก้ปัญหาได้ยังกลับมาโพสเป็นประโยชน์กับคนอื่นๆอีกครับ

ของเสริมนิดครับ คือตั้งแต่ Windows vista ขึ้นมาการใช้วิธีแก้รีจีสตรีจะทำกับ User Name ที่เป็น Admin ได้เท่านั้นนะครับ ถ้าไปใช้กับเครื่องที่เค้าไม่ได้ใช้ User Admin โปรแกรมจะ Error เพราะ windows จะไม่ยอมให้เข้าถึงการแก้รีจีสเตอร์

Windows ที่เหนือ XP ขึ้นมาจะนำระบบรักษาความปลอดภัยของ User แบบเดียวกับ window NT, 2000 สมัยก่อนมาใช้ ทำให้ Windows รุ่นใหม่ๆ จะเขียนโค๊ดอะไรที่แก้ไขระบบ System ของ OS ได้ยากมาก ไม่ง่ายเหมือน XP แม้แต่การเขียนโค๊ด VBA แก้ไขวันที่ เวลาของเครื่องแบบกดปุ่มเดียว แบบสมัยก่อนเราสามารถใช้ API แก้ได้ใน windows XP แต่กับ Windows 7 จะใช้ไม่ได้ ต้องเขียนแบบอ้อมๆหลายชั้นอยู่ถึงจะได้ อะไรประมาณนี้

ดังนั้นถ้าใช้กับหลายเครื่องควรทดสอบ OS ด้วยครับ
9 @R21244
แก้ไขนิดนะครับตรง "DD/MM/YY" เป็น "dd/MM/yy"

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