กำหนดให้textbox รับค่าได้เฉพาะตัวเลข
กระทู้เก่าบอร์ด อ.Yeadram

 7,698   8
URL.หัวข้อ / URL
กำหนดให้textbox รับค่าได้เฉพาะตัวเลข

ถ้าจะกำหนดให้textbox รับค่าได้เฉพาะตัวเลข ต้องใช้ฟังก์ชั่น textchange ใช่มั้ยครับ

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

1 @R00647
ให้กำหนดตัวอักษร (0,9 หรือ #) เป็น template สำหรับรับเฉพาะตัวเลข โดยกำหนดลงใน InputMask property ของเท็กซ์บ็อกซ์นั้นๆ

0 หมายถึง รับค่า 0 ถึง 9 และต้องป้อนตำแหน่งนี้ด้วย
9 หมายถึง รับค่า 0 ถึง 9 รวมถึง ช่องว่างด้วย   จะป้อนหรือไม่ป้อนตำแหน่งนี้ก็ได้
# หมายถึง เหมือน 9 แต่รวมอักษร + และ - ด้วย

ส่วนใหญ่ผมก็จะใช้รูปแบบ #,###,###.## หรือ 9,999,999.99 เพื่อรับตัวเลขครับ

ปล. ไม่เข้าใจว่าทำไมทีมพัฒนา Access ถึงไม่ปรับปรุงเรื่อง InputMask เสียที เพราะการทำงานนั้นสู้รูปแบบที่กำหนดใน FoxPro ไม่ได้   ไม่ user friendly เลย มักทำให้ผู้ป้อนข้อมูลสับสนในตอนเริ่มต้นอยู่เรื่อย
2 @R00648
ไม่เข้าใจอะครับ ช่วยยกตัวอย่างได้มั้ยครับ
3 @R00649
ไปที่ textbox กด F4 จะมี Property Sheet แสดง   ไปที่แทป Data ไปที่ช่อง InputMask ป้อนรูปแบบที่ต้องการลงไป เช่น #,###,###.##
4 @R00657
แล้วจะเตือนuserยังไงอะครับเวลาที่เผลอใส่เป็นตัวอักษร
5 @R00658
ผมใส่ค่าในช่องInputmask เป็น 0123456789 พอกดEnter แล้วค่าที่ใส่ทำไมถึงกลายเป็น0"12345678"9 อะครับ พอจะยกตัวอย่างโค้ดได้มั้ยครับ
6 @R00659
If txtbox.InputMask <> "0123456789" Then
   MsgBox"กรุณาใส่เฉพาะตัวเลขเท่านั้น"
End If

แบบนี้ถูกมั้ยครับ
7 @R00661
จาก R00649

If txtbox.InputMask <> #,###,### Then
   MsgBox"กรุณาใส่เฉพาะตัวเลขเท่านั้น"
End If

ถูกมั้ยครับ
8 @R00663
ไม่ต้องเขียนโค้ดใดๆทั้งสิ้นครับ ตามที่บอกใน (R00649) นั้น ก็คือ textbox บนฟอร์มครับไปคลิกที่ textbox แล้วกดคีย์บอร์ดปุ่ม F4 ครับ

อีกอย่าง ทำไมถึงไปใส่เป็น "0123456789" หล่ะครับ เพราะอย่างที่บอกไปแล้วว่า มีรูปแบบที่ Access มันเข้าใจแค่ตัวอักษร 0,9 และ # เท่านั้น ตัวอื่นที่มันไม่รู้จัก มันก็จะใส่ " ครอบไปแทน   ตย.ก็บอกไว้แล้วใน (R00647)
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2974s