กระทู้เก่าบอร์ด อ.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 ไปแล้วมันจะหาไม่เจออะครับ
อันนี้หน้า 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
Time: 0.3320s
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 ครับ