กระทู้เก่าบอร์ด อ.Yeadram
1,904 9
URL.หัวข้อ /
URL
รบกวนถามเกี่ยวกับ vbOkCancle ค่ะ
รบกวนนิดนึงค่ะ
คือว่าเมื่อใส่ค่าใน textbox แล้วให้มี MsgBox เตือนค่ะ พอดีเขียนโค้ดไว้แต่มันไม่ค่อยตรงตามต้องการไม่ทราบว่า error ตรงไหนค่ะ
If wg.Value < 10 Then
tbw = MsgBox("Â×¹Âѹ¹éÓ˹ѡµÑÇ", vbOKCancel, "Alert")
ElseIf tbw = vbcancle Then
wg.SetFocus
wg = ""
ElseIf tbw = vbOK Then
End If
End
ต้องการให้เลือก cancle แล้วทำการลบข้อมูลที่กรอกไปแล้วให้ curror อยู่ที่ตรงตำแหน่งเดิมเพื่อกรอกข้อมูลใหม่ค่ะ
แต่ถ้าเลือก ok ให้ผ่านไปเลยค่ะ
รบกวนด้วยนะคะ
ขอบคุณค่ะ
คือว่าเมื่อใส่ค่าใน textbox แล้วให้มี MsgBox เตือนค่ะ พอดีเขียนโค้ดไว้แต่มันไม่ค่อยตรงตามต้องการไม่ทราบว่า error ตรงไหนค่ะ
If wg.Value < 10 Then
tbw = MsgBox("Â×¹Âѹ¹éÓ˹ѡµÑÇ", vbOKCancel, "Alert")
ElseIf tbw = vbcancle Then
wg.SetFocus
wg = ""
ElseIf tbw = vbOK Then
End If
End
ต้องการให้เลือก cancle แล้วทำการลบข้อมูลที่กรอกไปแล้วให้ curror อยู่ที่ตรงตำแหน่งเดิมเพื่อกรอกข้อมูลใหม่ค่ะ
แต่ถ้าเลือก ok ให้ผ่านไปเลยค่ะ
รบกวนด้วยนะคะ
ขอบคุณค่ะ
9 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R01293
ขอบคุณค่ะคุณแดนน้อย
แต่ติดนิดนึงค่ะ
คือหลังจากเลือก cancel แล้ว ข้อมูลที่กรอก clear เรียนร้อยแล้วอยากให้ curror มาอยู่ที่ตำแหน่งเดิมเพื่อกรอกข้อมูลใหม่เลยค่ะ จะได้ไม่ต้องเอาเมาส์มาclick เพื่อเอา เคอร์เซอร์มาวางค่ะ
รบกวนต่ออีกนิดนึงนะคะ
ของคุณค่ะ
แต่ติดนิดนึงค่ะ
คือหลังจากเลือก cancel แล้ว ข้อมูลที่กรอก clear เรียนร้อยแล้วอยากให้ curror มาอยู่ที่ตำแหน่งเดิมเพื่อกรอกข้อมูลใหม่เลยค่ะ จะได้ไม่ต้องเอาเมาส์มาclick เพื่อเอา เคอร์เซอร์มาวางค่ะ
รบกวนต่ออีกนิดนึงนะคะ
ของคุณค่ะ
3 @R01294
ตำแหน่งเดิมใม่ใช่
wg.SetFocus หรือครับ
ถ้าอยากให้มันไปที่ไหนก็ ชื่อ CONTROL นั้น SETFOCUS
น่าจะ OK น่ะ
wg.SetFocus หรือครับ
ถ้าอยากให้มันไปที่ไหนก็ ชื่อ CONTROL นั้น SETFOCUS
น่าจะ OK น่ะ
4 @R01296
พิมพ์ wg.SetFocus
แต่เคอร์เซอร์ไม่ไปตรงตำแหน่งเดิมค่ะ ผลคือไม่มีอะไรในตำแหน่งเดิมเลยค่ะหลังจาก clear แล้ว
ลองใช้ DoCmd.go to control "wg"
เคอร์เซอร์ก็ไม่มาค่ะ
รบกวนจริงๆค่ะ ติดตรงนี้นิดเดียวเองค่ะ
แต่เคอร์เซอร์ไม่ไปตรงตำแหน่งเดิมค่ะ ผลคือไม่มีอะไรในตำแหน่งเดิมเลยค่ะหลังจาก clear แล้ว
ลองใช้ DoCmd.go to control "wg"
เคอร์เซอร์ก็ไม่มาค่ะ
รบกวนจริงๆค่ะ ติดตรงนี้นิดเดียวเองค่ะ
5 @R01301
มันผิดตรงที่ใช้คำสั่ง vbCancel Then หรือเปล่าครับ ไม่แน่ใจเหมือนกัน
6 @R01302
อย่างนี้ครับ...
ผมเข้าใจว่าคุณของเขียน code ชุดนี้ลงไปใน event After Update ใช่ไหมครับ
ถ้าใช่ให้ลอง 2 วิธีนี้วิธีใดวิธีนึงครับ
1. เปลี่ยนไปเขียนอยู่ใน before update แทน
โดยใช้ตามนี้
If wg.Value < 10 Then
If MsgBox("XXX", vbOKCancel, "Alert") = vbCancel Then Cancel = True
End If
2.ถ้าไม่ถูกใจลองวิธีเดิมแต่เพิ่มการ Set Focus หลอกเอา
If wg.Value < 10 Then
If MsgBox("XXX", vbOKCancel, "Alert") = vbCancel Then
Face.setfocus
wg.SetFocus
wg = ""
End If
End If
Face แทนชื่อ control ของคุณอะไรก็ได้ที่จะให้ fucus มันไปพักอยู่ก่อนที่จะกลับมา
ผมเข้าใจว่าคุณของเขียน code ชุดนี้ลงไปใน event After Update ใช่ไหมครับ
ถ้าใช่ให้ลอง 2 วิธีนี้วิธีใดวิธีนึงครับ
1. เปลี่ยนไปเขียนอยู่ใน before update แทน
โดยใช้ตามนี้
If wg.Value < 10 Then
If MsgBox("XXX", vbOKCancel, "Alert") = vbCancel Then Cancel = True
End If
2.ถ้าไม่ถูกใจลองวิธีเดิมแต่เพิ่มการ Set Focus หลอกเอา
If wg.Value < 10 Then
If MsgBox("XXX", vbOKCancel, "Alert") = vbCancel Then
Face.setfocus
wg.SetFocus
wg = ""
End If
End If
Face แทนชื่อ control ของคุณอะไรก็ได้ที่จะให้ fucus มันไปพักอยู่ก่อนที่จะกลับมา
7 @R01305
wg.SetFocus
wg = ""
สลับคำสั่งสองบรรทัดนี้ดูครับ กรณีอยู่ในเหตุการณ์ หลังอัพเดต
ให้เป็น
wg=""
wg.setfocus
wg = ""
สลับคำสั่งสองบรรทัดนี้ดูครับ กรณีอยู่ในเหตุการณ์ หลังอัพเดต
ให้เป็น
wg=""
wg.setfocus
8 @R01310
เรียน อ. yeadram
ได้ลองสลับคำสั่งตามคำแนะนำแล้วค่ะ
ผลเหมือนเดิมค่ะ คือเคอร์เซอร์ไม่ขึ้นตรง wg เช่นเดิมค่ะ
ได้ลองสลับคำสั่งตามคำแนะนำแล้วค่ะ
ผลเหมือนเดิมค่ะ คือเคอร์เซอร์ไม่ขึ้นตรง wg เช่นเดิมค่ะ
9 @R01312
งง เนาะ มันจังใด๋ล่ะ ความจริงมันไม่น่าจะยากนี่นา ก็แล้ว ไม่ไป wg.setfocus
แล้วมันจะไปที่ CONTROL ตัวไหนล่ะ ก็ไม่เห็นบอกมา ลองวิธีคุณแดนหรือยัง
ลองแล้วเป็นงัย
สุดท้าย เลยถ้าไม่ได้ ไป CHECK ที่ CONTROL ที่คุณจะไปด้วย
ว่ามันปกติหรือไม่ เช่น ตั้งค่า TAB STOP ให้มันเป็น NO หริอเปล่า
ถ้าไม่ได้อีก ลบ CONTROL ที่คุณจะไป สร้างใหม่เปลี่ยนชื่อใหม่
ลองดู
แล้วมันจะไปที่ CONTROL ตัวไหนล่ะ ก็ไม่เห็นบอกมา ลองวิธีคุณแดนหรือยัง
ลองแล้วเป็นงัย
สุดท้าย เลยถ้าไม่ได้ ไป CHECK ที่ CONTROL ที่คุณจะไปด้วย
ว่ามันปกติหรือไม่ เช่น ตั้งค่า TAB STOP ให้มันเป็น NO หริอเปล่า
ถ้าไม่ได้อีก ลบ CONTROL ที่คุณจะไป สร้างใหม่เปลี่ยนชื่อใหม่
ลองดู
Time: 0.3565s
If MsgBox("XXX", vbOKCancel, "Alert") = vbCancel Then
wg.SetFocus
wg = ""
End If
End If