ไม่ต้องการให้ warnings message แสดง
กระทู้เก่าบอร์ด อ.Yeadram

 1,299   9
URL.หัวข้อ / URL
ไม่ต้องการให้ warnings message แสดง

ผมมี Text box กำหนด - รูปแบบการป้อน     Standard
                                  - ตำแหน่งทศนิยม     2

เวลาพิมพ์ ตัวเลข ไม่มีปัญหา ... ถ้าพิมพ์ ตัวหนังสือ จะมีข้อความเตือน   
" ค่าที่คุณใส่สำหรับเขตข้อมูลนี้ไม่ถูกต้อง "

อยากถามว่าจะทำอย่างไรที่จะไม่ให้ คำเตือนนี้ขึ้น   เพราะเรามี คำเตือนของเราเองแล้วเตรียมไว้แล้ว   ขอบคุณล่วงหน้าครับ

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

1 @R14298
If IsNumeric(Me.text box Name) Then
Else
MsgBox "ค่าที่คุณใส่สำหรับเขตข้อมูลนี้ไม่ถูกต้อง ", vbOKOnly, "แจ้ง"
Me.Me.text box Name.Value = ""
End If
2 @R14299
If IsNumeric(Me.text box Name) Then
Else
MsgBox "ค่าที่คุณใส่สำหรับเขตข้อมูลนี้ไม่ถูกต้อง ", vbOKOnly, "แจ้ง"
Me.ext box Name.Value = ""
End If

3 @R14303
ผมลองเอา code ของ sorn ไปดักแล้วมันไม่ทันครับ มันขึ้นก่อนการตรวจสอบ หรือว่าจะไปเซ็ท ที่ Property ได้ไหมครับ

Private Sub Text43_LostFocus()
     If IsNumeric(Me.Text43) Then
     Else
        MsgBox "ค่าที่คุณใส่สำหรับเขตข้อมูลนี้ไม่ถูกต้อง ", vbOKOnly, "แจ้ง"
        Me.Text43.Value = ""
     End If
       -
       -

       -

End Sub
ผมแนบรูปมาด้วยครับ

4 @R14304
น่าจะเป็นรูปแบบการป้อน และ ตำแหน่ง ที่กำหนด ใน Popertie
ผมว่า น่าจะต้องเอา ตรงนี้ออก แล้วใช้โคตของคุณ Sorn อย่างเดียว
ใน Event Afterupdate
5 @R14308
เมื่อเกิดข้อผิดพลาดเกี่ยวกับฟอร์มหรือคอนโทรลใดๆบนฟอร์ม Form_Error event จะถูกกระตุ้นให้ทำงานก่อนที่ข้อผิดพลาดของระบบจะถูกแสดง ดังนั้นต้องไปใส่โค้ดไว้ที่นั่น ตย.

Private Sub Form_Error(DataErr As Integer, Response As Integer)
    Select Case DataErr
        Case 2113: MsgBox "ค่าที่คุณใส่สำหรับเขตข้อมูลนี้ไม่ถูกต้อง", vbOKOnly, "แจ้ง"
        Case Else: MsgBox "ผิดพลาดรหัส " & CStr(DataErr) & " : " & Error(DataErr)
    End Select
    Response = acDataErrContinue
End Sub


อากิวเมนท์ DataErr จะบอกว่ารหัสที่เกิดผิดพลาดนั้นคือรหัสอะไร เราสามารถใช้ Error( ) ฟังก์ชั่นเพื่อแสดงข้อความเดิมของข้อผิดพลาดนี้ได้ ส่วนอากิวเมนท์ Response ให้เรากำหนดค่าเป็น acDataErrContinue เพื่อบอก Access ว่ามันไม่ต้องแสดงข้อความเดิมของข้อผิดพลาด เราจะจัดการเอง
6 @R14309
อ.สันติสุขครับ คือ ถ้ามันฟ้อง Error เป็น 1234 เราสามารถกำหนด

Private Sub Form_Error(DataErr As Integer, Response As Integer)
Select Case DataErr
        Case 1234
        Case Else: MsgBox "ผิดพลาดรหัส " & CStr(DataErr) & " : " & Error(DataErr)
    End Select
    Response = acDataErrContinue
End Sub

คือ ไม่ใส่อะไรเลย เพื่อให้ มันข้าม Error นั้นไปเฉยๆ ได้ใช่มั้ยครับ
7 @R14314
ถ้ามันฟ้อง Error เป็น 1234 เราสามารถกำหนดให้มันข้าม Error นั้นไปเฉยๆ แต่ Error อื่นยังฟ้องปกติ โดย

Private Sub Form_Error(DataErr As Integer, Response As Integer)
    If DataErr = 1234 Then
        Response = acDataErrContinue
    End If
End Sub
8 @R14315
ถ้าคำว่าข้าม Error หมายถึงไม่ให้มันตรวจจับข้อผิดพลาดนั้น อย่างนี้ทำไม่ได้ครับ เราทำได้แค่ให้แสดงข้อความผิดพลาดหรือไม่แสดง ได้เท่านั้นเอง ไม่งั้นข้อมูลรวนหมด
9 @R14322
ขอบคุณ อ.สันติสุข มากเลยครับ ผมลองทำตามที่ อ.สันติสุข บอกมา แล้วตรวจสอบ Error Code ได้เลยครับ(ตามรูปที่ส่งมาด้วย) และจะได้นำไปประยุกต์ใช้งานต่อไปครับ และขอขอบคุณทุกท่านด้วยครับ ที่ให้คำแนะนำมา
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2650s