multi-field search form หาrecord ที่มี null ไม่ได้
กระทู้เก่าบอร์ด อ.Yeadram

 982   1
URL.หัวข้อ / URL
multi-field search form หาrecord ที่มี null ไม่ได้

ทำ search form จาก query โดยสามารถเลือกใส่ข้อมูลต่างๆได้ใน field ตามรูปอะครับ เช่นใส่ "ID" อย่างเดียว, ใส่แต่ "กว้าง"-"ยาว"-"สูง" หรือ "ชื่อร้าน" แต่เจอปัญหาว่า มีบาง record จะไม่แสดงเพราะมีบางfield ใน table มันเป็น null อะครับ

อันนี้หน้า form


query ที่ใช้
SELECT TblBox.BBoxID, TblBox.BCode, TblBox.BName, TblBox.BCustomer, TblBox.BWidth, TblBox.BLength, TblBox.BHeight
FROM TblBox
WHERE (((TblBox.BBoxID) Like "*" & [Forms]![SearchTbl]![BBoxID] & "*") AND ((TblBox.BCode) Like "*" & [Forms]![SearchTbl]![BCode] & "*") AND ((TblBox.BName) Like "*" & [Forms]![SearchTbl]![BName] & "*") AND ((TblBox.BCustomer) Like "*" & [Forms]![SearchTbl]![BCustomer] & "*") AND ((TblBox.BWidth) Like "*" & [Forms]![SearchTbl]![BWidth] & "*") AND ((TblBox.BLength) Like "*" & [Forms]![SearchTbl]![BLength] & "*") AND ((TblBox.BHeight) Like Nz("*" & [Forms]![SearchTbl]![BHeight] & "*"))) OR (((TblBox.BHeight) Is Null))
ORDER BY TblBox.BBoxID;


table


ใส่ ID: 143, 145, 149, 151 หรือ 153 ไปแล้วมันจะหาไม่เจออะครับ

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

1 @R22678
คำถามคือ ถ้าใส่เงื่อนไข 2 ช่องเช่น ชื่อกล่องเป็น 10 สูงเป็น 1.3   คุณต้องการเชื่อมเงื่อนไขด้วย AND หรือ OR กันแน่ ถ้าเป็น AND ผมแนะนำว่าต้องสร้าง SQL statement ด้วยโค้ดเอง แล้วเอาไปใส่เป็น RecordSource ของ FormSearchF ตัว SQL ก็จะมีคำสั่งลักษณะนี้

SELECT BBOXID, BDateC, ... , BHeight
FROM TblBox
WHERE (BBOXID Like "...*" or Nz(BBOXID,"") = "")
      AND (BDateC Like "...*" or Nz(BDateC,"")="")
      AND ...
      ...      
      AND (BHeight Like "...*" or Nz(BHeight,"")="")


แต่ถ้าเป็น OR แล้ว ในตัวคิวรี่ ให้เรียงแต่ละเงื่อนไขเป็นแต่ละบรรทัดของ :Or แทนที่จะเรียงต่อกันไปในบรรทัดเดียวอย่างที่คุณทำไว้ เงื่อนไขก็จะเรียงเป็นขั้นบันได้ลงมาเรื่อยๆ และไม่ต้องมีเงื่อนไข Is Null ครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3320s