ช่วยหน่อยครับกำหนดเงื่อนไขป้องกันไม่เป็น
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 296   4
URL.หัวข้อ / URL
ช่วยหน่อยครับกำหนดเงื่อนไขป้องกันไม่เป็น

คือผมทำ Form มาให้ป้อนข้อมูล โดยต้องการกำหนดให้ Userต้องป้อนค่าของ field B > 1(ตัวเลข) เมื่อ field A ที่ป้อนเข้าไปมากกว่า A>0 แต่ถ้า field A ป้อนค่า 0 field B มีค่าเท่าไหร่ก็ได้
Item field A field B
1 0 0 อย่างนี้ถือว่าไม่เป็นไร
2 20 0 ไม่ถูกต้อง ต้องการให้ filed B ป้อนค่ามากกว่า 0 *********
3 10 1 อย่างนี้ถือว่าไม่เป็นไร


ขอบคุณล่วงหน้ครับ

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

1 @R02188
ลองดูโค้ดนี้ครับ

Private Sub FieldB_BeforeUpdate(Cancel As Integer)
CheckData
End Sub

Sub CheckData()
If Me.FieldA > 0 And (Me.FieldB <= 0 Or IsNull(Me.FieldB)) Then
MsgBox "ต้องใส่ค่าใน FieldB ให้มีค่ามากกว่า 0"
DoCmd.CancelEvent
SendKeys "{ESC}{ESC}", False
Exit Sub
End If
End Sub
2 @R02190
OK เลยครับ กราบขอบคุณ งามๆ เลยครับ
3 @R02191
เอ๊ะ...ขอโทษอีกทีครับอาจารย์
พอใส่โคดแล้ว ถ้าป้อนโดยคีย ค่าที่น้อยกว่าเท่ากับ 0 มันก็ OK น่ะครับ แต่พอเรา Add record ใหม่ค่า field B มันจะเริ่มต้นด้วย 0 และ ถ้าเคาะ Enter ผ่านมันเช็คไม่ติด ครับ
ส่งไฟล์มาให้แล้วครับ
4 @R02193
ต้องแก้ไขใน Property ของฟีลด์นั้น โดยการลบค่า Default Value ให้ออกไป ไม่ให้เป็น 0 ครับ

ไม่เช่นนั้นโค้ดนี้จะใช้ไม่ได้ผลครับ

หรือจะใช้กับ BeforeUpdate ของ Form ก็ได้ครับ

Private Sub Form_BeforeUpdate(Cancel As Integer)
CheckData
End Sub
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.1169s