กระทู้เก่าบอร์ด อ.Yeadram
7,982 8
URL.หัวข้อ /
URL
กำหนดให้textbox รับค่าได้เฉพาะตัวเลข
ถ้าจะกำหนดให้textbox รับค่าได้เฉพาะตัวเลข ต้องใช้ฟังก์ชั่น textchange ใช่มั้ยครับ
8 Reply in this Topic. Dispaly 1 pages and you are on page number 1
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
แบบนี้ถูกมั้ยครับ
MsgBox"กรุณาใส่เฉพาะตัวเลขเท่านั้น"
End If
แบบนี้ถูกมั้ยครับ
7 @R00661
จาก R00649
If txtbox.InputMask <> #,###,### Then
MsgBox"กรุณาใส่เฉพาะตัวเลขเท่านั้น"
End If
ถูกมั้ยครับ
If txtbox.InputMask <> #,###,### Then
MsgBox"กรุณาใส่เฉพาะตัวเลขเท่านั้น"
End If
ถูกมั้ยครับ
8 @R00663
ไม่ต้องเขียนโค้ดใดๆทั้งสิ้นครับ ตามที่บอกใน (R00649) นั้น ก็คือ textbox บนฟอร์มครับไปคลิกที่ textbox แล้วกดคีย์บอร์ดปุ่ม F4 ครับ
อีกอย่าง ทำไมถึงไปใส่เป็น "0123456789" หล่ะครับ เพราะอย่างที่บอกไปแล้วว่า มีรูปแบบที่ Access มันเข้าใจแค่ตัวอักษร 0,9 และ # เท่านั้น ตัวอื่นที่มันไม่รู้จัก มันก็จะใส่ " ครอบไปแทน ตย.ก็บอกไว้แล้วใน (R00647)
อีกอย่าง ทำไมถึงไปใส่เป็น "0123456789" หล่ะครับ เพราะอย่างที่บอกไปแล้วว่า มีรูปแบบที่ Access มันเข้าใจแค่ตัวอักษร 0,9 และ # เท่านั้น ตัวอื่นที่มันไม่รู้จัก มันก็จะใส่ " ครอบไปแทน ตย.ก็บอกไว้แล้วใน (R00647)
Time: 0.3950s
0 หมายถึง รับค่า 0 ถึง 9 และต้องป้อนตำแหน่งนี้ด้วย
9 หมายถึง รับค่า 0 ถึง 9 รวมถึง ช่องว่างด้วย จะป้อนหรือไม่ป้อนตำแหน่งนี้ก็ได้
# หมายถึง เหมือน 9 แต่รวมอักษร + และ - ด้วย
ส่วนใหญ่ผมก็จะใช้รูปแบบ #,###,###.## หรือ 9,999,999.99 เพื่อรับตัวเลขครับ
ปล. ไม่เข้าใจว่าทำไมทีมพัฒนา Access ถึงไม่ปรับปรุงเรื่อง InputMask เสียที เพราะการทำงานนั้นสู้รูปแบบที่กำหนดใน FoxPro ไม่ได้ ไม่ user friendly เลย มักทำให้ผู้ป้อนข้อมูลสับสนในตอนเริ่มต้นอยู่เรื่อย