我做了一個 SQL 陳述句來過濾專案,但在只過濾活動專案時遇到了問題。它適用于某些資料,但很少有行不受影響。
當我嘗試過濾所有活動專案時,我將 avarchar(1)用作真/假布林值 1=completed 0=active
查詢陳述句:
SELECT
dbo_tblTrialTest.ID,
dbo_tblTrialTest.PartNumber,
dbo_tblTrialTest.CreationDate,
dbo_tblTrialTest.Init,
dbo_tblTrialTest.CompletionInit,
dbo_tblTrialTest.CustomerName,
dbo_tblTrialTest.CompletionDate,
dbo_tblTrialTest.Description,
dbo_tblTrialTest.ActiveAsString
FROM
dbo_tblTrialTest
WHERE
(((dbo_tblTrialTest.ActiveAsString) = TRIM("0")))
AND ((dbo_tblTrialTest.ID) LIKE '*' & [Forms]![frmTrialTestOverview]![tfFilter] & '*')
OR (((dbo_tblTrialTest.PartNumber) LIKE '*' & [Forms]![frmTrialTestOverview]![tfFilter] & '*'))
OR (((dbo_tblTrialTest.CustomerName) LIKE '*' & [Forms]![frmTrialTestOverview]![tfFilter] & '*'));
此查詢的輸出:

那么只有某些行不受ActiveAsString輸入資料的行的影響?我似乎真的無法思考為什么會這樣。
uj5u.com熱心網友回復:
修剪沒有意義"0"。可能是該領域需要它,但是:
Trim(dbo_tblTrialTest.ActiveAsString)="0"
但是請對 True/False 值使用位欄位。
另外,試試這個邏輯:
WHERE
dbo_tblTrialTest.ActiveAsString = "0"
AND
(dbo_tblTrialTest.ID LIKE '*' & [Forms]![frmTrialTestOverview]![tfFilter] & '*'
OR dbo_tblTrialTest.PartNumber LIKE '*' & [Forms]![frmTrialTestOverview]![tfFilter] & '*'
OR dbo_tblTrialTest.CustomerName LIKE '*' & [Forms]![frmTrialTestOverview]![tfFilter] & '*');
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/367499.html
上一篇:將計數查詢合二為一
下一篇:創建列時不允許為0
