เงื่อนไขแบบนี้ใช้ DCount หรือ DLookup คะ
กระทู้เก่าบอร์ด อ.Yeadram

 886   3
URL.หัวข้อ / URL
เงื่อนไขแบบนี้ใช้ DCount หรือ DLookup คะ

table : tblitem
- ID (auto number)
- date_add (date/time)
- item_number (numeric)
- description (text)

โจทย์คือ สร้างฟอร์มจาก tblitem เสร็จแล้ว
เริ่มแรก คีย์วันที่ (Textbox) ก่อน เสร็จแล้ว คีย์ item_number (Textbox) หลังจากเลื่อนเคอร์เซอร์หรือกด Enter ต้องการให้มี Msgbox แจ้งเตือนว่า item_number เลขนี้เคยมีในระบบแล้ว แล้วให้เคอร์เซอร์เด้งกลับมาที่ texbox ของ item_number ถ้ายังไม่เคยมีก็ไม่ต้องแจ้งเตือน

จริงๆคืออยากให้เช็ค 2 เงื่อนไขคือ เช็คเลขกับเช็คปีด้วยว่าซ้ำไหม ถ้าซ้ำให้แจ้งเตือน ถ้าไม่ซ้ำก็ผ่าน

พอจะมีใครช่วยสอนได้ไหมคะ

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

1 @R24036
Dim xx
xx = Dcount(1,"tblitem","((year(date_add) = " & year(me.ชื่อtextboxของคีย์วันที่) & ") and (item_number = " & me.ชื่อtextboxของItem_number & "))")

if xx > 0 then
msgbox "Dupplicate data!"
me.ชื่อtextboxของItemnumber = ""
me.ชื่อtextboxของItemnumber.setfocus
end if
2 @R24062
ได้แล้วคะ

ติดแต่ หลังจากที่ มีข้อความขึ้นแล้ว
textbooxของitemnumber = " " เป็นค่าว่างแล้ว
แต่ เคอร์เซอร์มันเลื่อนไป textbox ถัดไป มันไม่กลับมาที่ itemnumber คะ ทำยังไงดี
ลองใส่ Me.Item_number.SetFocus แล้วก็ยังไม่ได้
3 @R24064
ให้เช็คเงื่อนไขดังกล่าวใน BeforeUpdate event ครับ เมื่อเช็คแล้วว่ามีค่าซ้ำให้สั่ง Cancel = True เพื่อหยุดการดำเนินการของ event ไม่ให้มันดำเนินการต่อไปยัง control ถัดไปครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2527s