ใช้ findfirst แล้วหาข้อมูลไม่พบ
กระทู้เก่าบอร์ด อ.Yeadram

 1,098   3
URL.หัวข้อ / URL
ใช้ findfirst แล้วหาข้อมูลไม่พบ

grid เป็น ตัวเลข 2632
year เป็น ตัวเลข 2554
did เป็น อักษร ar124

ใช้ findfirst แล้วมันหาไม่เจอ
มันมีอยู่แล้ว ใน ข้อมูลที่ลงไป
มันเลยฟ้องซ้ำ

Set rcdcust = dbprompt.OpenRecordset("dgrade")
rcdcust.FindFirst ("[grid]=" & Me![code] & " and [year] =" & Me![cyear] & "and[did]=' " & Me![did] & " ' ")
If rcdcust.NoMatch Then
rcdcust.AddNew

ดูใ้ห้หน่อยครับ ว่ามันผิดตรงใหน

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

1 @R14421
เพิ่มเติม
ทั้ง3ตัวรวมกันเป็นคีย์หลัก

เมื่อเราป้อนข้องมูลซ้ำ
มันคงรตรวจสอบเจอ
แล้วข้ามaddnew ไป
แต่นี่มันaddnewใหม่
ทำให้เป็นคีย์หลักที่ซ้ำกัน
2 @R14425
ทดลองเปลี่ยน
Did เป็น ตัวเลข
กลับหาเจอ
มันจะข้าม addnew ไปทำอย่างอื่นต่อ

ต้องแก้อย่างไร เพราะ did ต้องเป็นอักษรผสมตัวเลข
3 @R14431
ดูจากโค๊ดก็น่าจะถูกนะครับ ไม่รู้โครงสร้างข้อมูล การบันทึกของ did เป็นยังไง ลองใช้ Like แทน = ดูครับ ว่าได้เปล่า เช่น

rcdcust.FindFirst ("[grid]=" & Me![code] & " and [year] =" & Me![cyear] & "and [did] like '" & Me![did] & "'")

หรือเพิ่ม * หน้าหลังด้วย เช่น
rcdcust.FindFirst ("[grid]=" & Me![code] & " and [year] =" & Me![cyear] & "and [did] like '*" & Me![did] & "*'")

เพราะอาจเหมือนค่าฟิลด์ did ที่เทียบกันอาจไม่เท่ากันจริง แค่ให้ลองดูนะครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3393s