กระทู้เก่าบอร์ด อ.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
ดูใ้ห้หน่อยครับ ว่ามันผิดตรงใหน
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
2 @R14425
ทดลองเปลี่ยน
Did เป็น ตัวเลข
กลับหาเจอ
มันจะข้าม addnew ไปทำอย่างอื่นต่อ
ต้องแก้อย่างไร เพราะ did ต้องเป็นอักษรผสมตัวเลข
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 ที่เทียบกันอาจไม่เท่ากันจริง แค่ให้ลองดูนะครับ
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 ที่เทียบกันอาจไม่เท่ากันจริง แค่ให้ลองดูนะครับ
Time: 0.3393s
ทั้ง3ตัวรวมกันเป็นคีย์หลัก
เมื่อเราป้อนข้องมูลซ้ำ
มันคงรตรวจสอบเจอ
แล้วข้ามaddnew ไป
แต่นี่มันaddnewใหม่
ทำให้เป็นคีย์หลักที่ซ้ำกัน