กระทู้เก่าบอร์ด อ.Yeadram
1,704 10
URL.หัวข้อ /
URL
อยากได้ค๊ดควบคุมการคีย์ข้อมูลให้ตรงรูปแบบบ้างครับ
เรียนท่านอาจารย์ครับ ผมอยากได้ไฟล์ตัวอย่าง บ้างครับ เพราะผมหามานานแล้วครับ พึ่งจะเจอ รบกวนท่านอาจารย์ ส่งไฟล์ตัวอย่างให้ผมได้ไหมครับ เพื่อเป็นแนวทางที่จะฝึกและศึกษาต่อไปครับ (Piyaphan@se-ed.com) คือผมอ่านที่ท่านอาจารย์ตอบคุณ มาลีแล้ว ผมยังงงๆ อยู่ครับ คือไม่ทราบว่า ที่ table ตรงฟิวล์ em_idcard ต้องกำหนดอะไรบ้าง และที่ ฟอร์ม ต้องใส่หรือกำหนดที่ตรงไหนบ้าง รบกวนท่านอาจารย์ ส่งไฟล์ตัวอย่าง เล็กๆ หรือง่ายๆ แบบนี้ก็ได้ครับ
10 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R01014
ผมทำได้แล้วครับ แต่ทีนี้ผมต้องขอรบกวนท่านอาจารย์ อีกนิดครับ คือว่าพอเราคีย์ข้อมูลเข้าไปแล้ว สมมุติว่าไปซ้ำกับข้อมูลที่มีอยู่แล้ว มันจะขึ้น Bsgbox มา บอกว่า มีข้มูลอยู่แล้ว ทีนี้ พอเราคลิก OK ผมอยากให้มันเคลียร์ข้อมูลที่เราได้ป้อนเข้าไปแล้วนะครับ คือให้เป็น ช่องว่างซะ ไม่ทราบว่าเราต้องใส่โค๊ดว่าอย่างไรครับอาจารย์ครับ และใส่ตรงไหนครับ
3 @R01015
.....
msgbox .....
txt_id_card = ""
cancel=true
.....
msgbox .....
txt_id_card = ""
cancel=true
.....
4 @R01019
ผมต้องรบกวนท่านอาจารย์อีกครั้งครับ คือผมลองเอาโค๊ดของท่านอาจารย์ใส่เข้าไปแล้วแต่ก็ยังเคลียร์ไม่ได้ครับ รบกวนท่านอาจารย์ดูให้ด้วยครับ
Private Sub tx_idcard_BeforeUpdate(Cancel As Integer)
if not isnumeric(tx_idcard) then
MsgBox "ข้อมูลที่กรอกไม่ใช่ตัวเลข", vbCritical, "ข้อมูลผิด"
txt_id_card = ""
cancel = True
Elseif len(tx_idcard)<>13 then
MsgBox "จำนวนอักขระ ไม่ถูกต้อง", vbCritical, "ข้อมูลผิด"
cancel = True
ElseIf Not IsNull(DLookup("em_idcard", "tbEmployee", "[em_idcard] = '" & tx_idcard & "'")) Then
MsgBox "รหัสนี้มีในระบบแล้ว", vbCritical, "ข้อมูลผิด"
cancel = True
End If
End Sub
Private Sub tx_idcard_BeforeUpdate(Cancel As Integer)
if not isnumeric(tx_idcard) then
MsgBox "ข้อมูลที่กรอกไม่ใช่ตัวเลข", vbCritical, "ข้อมูลผิด"
txt_id_card = ""
cancel = True
Elseif len(tx_idcard)<>13 then
MsgBox "จำนวนอักขระ ไม่ถูกต้อง", vbCritical, "ข้อมูลผิด"
cancel = True
ElseIf Not IsNull(DLookup("em_idcard", "tbEmployee", "[em_idcard] = '" & tx_idcard & "'")) Then
MsgBox "รหัสนี้มีในระบบแล้ว", vbCritical, "ข้อมูลผิด"
cancel = True
End If
End Sub
5 @R01020
มันเขียนผิดนะครับ ชื่อคอนโทรล ตอนตอบ R01015 ผมไม่ได้เข้าไปดูต้นฉบับ
ก็เอาแบบระลึกชาติ เอา
ชื่อคอนโทรลมันเขียนให้ถูกก่อนครับ
if not isnumeric(tx_idcard) then
MsgBox "ข้อมูลที่กรอกไม่ใช่ตัวเลข", vbCritical, "ข้อมูลผิด"
tx_idcard = ""
cancel = True
...
ก็เอาแบบระลึกชาติ เอา
ชื่อคอนโทรลมันเขียนให้ถูกก่อนครับ
if not isnumeric(tx_idcard) then
MsgBox "ข้อมูลที่กรอกไม่ใช่ตัวเลข", vbCritical, "ข้อมูลผิด"
tx_idcard = ""
cancel = True
...
6 @R01030
เรียนท่านอาจารย์ครับ ผมลองใส่ดูแล้วครับมันขึ้นฟ้องตรงที่ ใส่โค๊ดนั้นครับ มันขึ้นเป็นแทบสีเหลืองครับ
7 @R01032
Private Sub tx_idcard_BeforeUpdate(Cancel As Integer)
if not isnumeric(tx_idcard) then
MsgBox "ข้อมูลที่กรอกไม่ใช่ตัวเลข", vbCritical, "ข้อมูลผิด"
''' txt_id_card = ""
cancel = True
tx_idcard=""
Elseif len(tx_idcard)<>13 then
MsgBox "จำนวนอักขระ ไม่ถูกต้อง", vbCritical, "ข้อมูลผิด"
cancel = True
ElseIf Not IsNull(DLookup("em_idcard", "tbEmployee", "[em_idcard] = '" & tx_idcard & "'")) Then
MsgBox "รหัสนี้มีในระบบแล้ว", vbCritical, "ข้อมูลผิด"
cancel = True
End If
End Sub
ลองย้ายไปอยู่ที่ข้างหลัง cancel ครับ
if not isnumeric(tx_idcard) then
MsgBox "ข้อมูลที่กรอกไม่ใช่ตัวเลข", vbCritical, "ข้อมูลผิด"
''' txt_id_card = ""
cancel = True
tx_idcard=""
Elseif len(tx_idcard)<>13 then
MsgBox "จำนวนอักขระ ไม่ถูกต้อง", vbCritical, "ข้อมูลผิด"
cancel = True
ElseIf Not IsNull(DLookup("em_idcard", "tbEmployee", "[em_idcard] = '" & tx_idcard & "'")) Then
MsgBox "รหัสนี้มีในระบบแล้ว", vbCritical, "ข้อมูลผิด"
cancel = True
End If
End Sub
ลองย้ายไปอยู่ที่ข้างหลัง cancel ครับ
8 @R01035
ขอต้องขอโทษจริงๆครับท่านอาจารย์ ผมลองย้ายแล้วครับแต่มันก็ยังไม่ได้ครับ ผมงง มากๆเลยครับ อาจารย์ครับถ้าผมจะแนบไฟล์มาให้ดูผมจะต้องทำอย่างไรบ้างครับ
9 @R01036
ส่งไปที่ accboard_gmail_com
เขียน subject ว่า "การคีย์ข้อมูลให้ตรงรูปแบบ -ปิยะพันธุ์"
เขียนเนื้อความให้ท่านอื่นๆ อ่านพอได้ใจความ หรือจะแนบลิงค์กระทู้นี้ไว้ด้วยก็ได้ครับ
เพราะอีเมล์แอดเดรสนี้ เป็นส่วนรวม ทุกคนเข้าอ่านได้ครับ
user : accboard
pass : accgmail
เขียน subject ว่า "การคีย์ข้อมูลให้ตรงรูปแบบ -ปิยะพันธุ์"
เขียนเนื้อความให้ท่านอื่นๆ อ่านพอได้ใจความ หรือจะแนบลิงค์กระทู้นี้ไว้ด้วยก็ได้ครับ
เพราะอีเมล์แอดเดรสนี้ เป็นส่วนรวม ทุกคนเข้าอ่านได้ครับ
user : accboard
pass : accgmail
10 @R01043
เอามา test อีกทีแล้วครับ หลังจากเราสั่ง cancel มัน (ไม่ให้มีการอับเดตข้อมูล)
แล้วเราไปกำหนดค่าของ textbox ไม่ได้เลย เหตุผลมันคงต้องถามผู้รู้ท่านอื่นๆ ครับ แต่ผมใช้วิธีกำปั้นทุบดินไปก่อนครับ คือ สั่งให้มัน กด Esc ครับ
ตามนี้เลย ทดสอบแล้วได้ผลครับ
Private Sub tx_idcard_BeforeUpdate(Cancel As Integer)
If Not IsNumeric(tx_idcard) Then
MsgBox "ข้อมูลที่กรอกไม่ใช่ตัวเลข", vbCritical, "ข้อมูลผิด"
Cancel = True
SendKeys "{ESC}"
ElseIf Len(tx_idcard) <> 13 Then
MsgBox "จำนวนอักขระ ไม่ถูกต้อง", vbCritical, "ข้อมูลผิด"
Cancel = True
SendKeys "{ESC}"
ElseIf Not IsNull(DLookup("em_idcard", "tbEmployee", "[em_idcard] = '" & tx_idcard & "'")) Then
MsgBox "รหัสนี้มีในระบบแล้ว", vbCritical, "ข้อมูลผิด"
Cancel = True
SendKeys "{ESC}"
End If
End Sub
แล้วเราไปกำหนดค่าของ textbox ไม่ได้เลย เหตุผลมันคงต้องถามผู้รู้ท่านอื่นๆ ครับ แต่ผมใช้วิธีกำปั้นทุบดินไปก่อนครับ คือ สั่งให้มัน กด Esc ครับ
ตามนี้เลย ทดสอบแล้วได้ผลครับ
Private Sub tx_idcard_BeforeUpdate(Cancel As Integer)
If Not IsNumeric(tx_idcard) Then
MsgBox "ข้อมูลที่กรอกไม่ใช่ตัวเลข", vbCritical, "ข้อมูลผิด"
Cancel = True
SendKeys "{ESC}"
ElseIf Len(tx_idcard) <> 13 Then
MsgBox "จำนวนอักขระ ไม่ถูกต้อง", vbCritical, "ข้อมูลผิด"
Cancel = True
SendKeys "{ESC}"
ElseIf Not IsNull(DLookup("em_idcard", "tbEmployee", "[em_idcard] = '" & tx_idcard & "'")) Then
MsgBox "รหัสนี้มีในระบบแล้ว", vbCritical, "ข้อมูลผิด"
Cancel = True
SendKeys "{ESC}"
End If
End Sub
Time: 0.3042s
ดู Reply ที่ (R00985)
http://thai-access.com/yeadram_view.php?topic_id=213&page=2