ใน textbox ไม่ให้พิมพ์ตัวอักษรต้องห้าม



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

30 มี.ค. 63 , 19:38:41
อ่าน 195 ครั้ง

kitisak

เราจะเขียนโค๊ดอย่างไร เพื่อให้ใน textbox ไม่ให้พิมพ์ตัวอักษรต้องห้ามในการตั้งชื่อไฟล์ เช่น / * ? ครับ

 

31 มี.ค. 63 , 08:12:14
ตอบกลับ #1

PNR

: ใน textbox ไม่ให้พิมพ์ตัวอักษรต้องห้าม
« ตอบกลับ #1 เมื่อ: 31 มี.ค. 63 , 08:12:14 »
เราจะเขียนโค๊ดอย่างไร เพื่อให้ใน textbox ไม่ให้พิมพ์ตัวอักษรต้องห้ามในการตั้งชื่อไฟล์ เช่น / * ? ครับ
สีแดงคือชื่อ textbox นะครับ
KeyAscii = 47 คือ /
KeyAscii = 42 คือ *
KeyAscii = 63 คือ ?


Private Sub TextboxName_KeyPress(KeyAscii As Integer)
If (KeyAscii = 47 Or KeyAscii = 42 Or KeyAscii = 63) Then
        KeyAscii = 0
        Else
        KeyAscii = KeyAscii
 End If
End Sub

ุถ้าอยากจะเพิ่มคีย์อื่นๆ อีกก็ดู ASCII Characters ในเว็บนี้ครับ
https://bettersolutions.com/vba/strings-characters/ascii-characters.htm link

:meaw: :grin: :shout:
 
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

31 มี.ค. 63 , 09:12:52
ตอบกลับ #2

thanapol.w

: ใน textbox ไม่ให้พิมพ์ตัวอักษรต้องห้าม
« ตอบกลับ #2 เมื่อ: 31 มี.ค. 63 , 09:12:52 »
ถ้าต้องการให้กรอกเฉพาะภาษาไทย หรือ กรอกเฉพาะภาษาอังกฤษ  ครับ

 

31 มี.ค. 63 , 09:52:22
ตอบกลับ #3

PNR

: ใน textbox ไม่ให้พิมพ์ตัวอักษรต้องห้าม
« ตอบกลับ #3 เมื่อ: 31 มี.ค. 63 , 09:52:22 »
ถ้าต้องการให้กรอกเฉพาะภาษาไทย หรือ กรอกเฉพาะภาษาอังกฤษ  ครับ

ทำแบบข้างบนละครับ ว่าเราต้องการคีย์ไหนบ้าง ถ้ามันอยู่เรียงกันก็ใช้ >= and <=  เพื่อลดจำนวนโค้ดได้ ถ้าอยู่ห่างๆกันใช้ Or มาช่วย
ถ้าอยากรู้ว่าตัวอักษรภาษาไทย ที่เรากดนั้น KeyAscii เลขอะไรก็ใส่โค้ดแบบนี้

Private Sub TextBoxName_KeyPress(KeyAscii As Integer)
     MsgBox KeyAscii
End Sub

แล้วจดไว้เพื่อนำมาเข้าเงื่อนไข ที่ต้องการ
:meaw: :grin: :shout:
 
โพสต์นี้ได้รับคำขอบคุณจาก: kitisak

31 มี.ค. 63 , 11:35:52
ตอบกลับ #4

kitisak

: ใน textbox ไม่ให้พิมพ์ตัวอักษรต้องห้าม
« ตอบกลับ #4 เมื่อ: 31 มี.ค. 63 , 11:35:52 »
ถ้าต้องการให้ TextboxName พิมพ์อักขระต้องห้ามได้ แต่พอพิมพ์เสร็จแล้วให้ TextboxName1 เท่ากับ TextboxName แต่ตัด อักขระต้องห้ามออกไป ต้องทำอย่างไรครับ

 

31 มี.ค. 63 , 13:35:02
ตอบกลับ #5

PNR

: ใน textbox ไม่ให้พิมพ์ตัวอักษรต้องห้าม
« ตอบกลับ #5 เมื่อ: 31 มี.ค. 63 , 13:35:02 »
ใช้ Function Replace ช่วยครับ

Private Sub TextboxName_AfterUpdate()
Dim strWord As String
If Not IsNull(Me.TextboxName) Then
strWord = Me.TextboxName
Me.TextboxName1 = Replace(Replace(Replace(strWord, "*", ""), "/", ""), "?", "")
End If
End Sub
:meaw: :grin: :shout:
 
โพสต์นี้ได้รับคำขอบคุณจาก: pirin, kitisak


บอร์ดเรียนรู้ Access สำหรับคนไทย