[英]MS Access Between dates query is not working
我是 Access DB 初學者。 我有一個帶有 SearchForm 的數據庫,用戶可以在其中輸入搜索條件,單擊“搜索”按鈕並使用過濾后的結果填充子表單。
該查詢基於用戶在搜索表單字段中輸入的內容進行簡單查詢
Like "*" & [Forms]![SampleSearchF]![txtMicrochip] & "*"
效果很好,但我的日期過濾器沒有產生任何結果: Between [Forms]![SampleSearchF]![DateReceivFrom] And [Forms]![SampleSearchF]![DateReceivTo]
日期搜索基於的表字段是數據類型:日期/時間,格式:短日期搜索表單字段是格式短日期子表單字段也是短日期
SearchButton 是一個重新查詢宏
當我在查詢中有這個查詢條件時,所有搜索功能都不起作用。 我可以尋求解決問題的任何建議嗎? 任何幫助表示贊賞。
這是我的 SQL 搜索查詢代碼,
FROM IndividualsT INNER JOIN SamplesT ON IndividualsT.AnimalID = SamplesT.AnimalID
WHERE (((IndividualsT.SpeciesName) Like "*" & [Forms]![SampleSearchF]![txtSpeciesName] & "*") AND
((IndividualsT.Microchip) Like "*" & [Forms]![SampleSearchF]![txtMicrochip] & "*") AND
((IndividualsT.Name) Like "*" & [Forms]![SampleSearchF]![txtName] & "*") AND
((SamplesT.Location) Like "*" & [Forms]![SampleSearchF]![txtLocation] & "*") AND
((SamplesT.SampleReceived) Between [Forms]![SampleSearchF]![DateReceivFrom] And [Forms]![SampleSearchF]![DateReceivTo]));
樣品T
樣品編號 | 動物編號 | 收到樣品 | 地點 | 采集日期 |
---|---|---|---|---|
1個 | 1個 | 18/08/2021 | 塔斯馬尼亞州 | 10/08/2021 |
7 | 1個 | 15/09/2021 | 柏林 | 25/09/2021 |
13 | 12 | 25/09/2021 | 悉尼 | 2021 年 4 月 9 日 |
14 | 12 | 24/09/2021 | 紐約 | 2021 年 1 月 9 日 |
個人T
動物編號 | 種名 | 微芯片 | 名稱 |
---|---|---|---|
1個 | 鸚鵡 | 1234 | 雨果 |
12 | 考拉 | 853 | 夏洛克 |
您的問題可能是表單字段為空時的WHERE
邏輯。 當為空時, LIKE
表達式返回**
表示任何內容,因此不會過濾掉任何行。 但是,空日期與BETWEEN
子句沖突。 如果表單字段為空,請考慮使用NZ
返回列本身:
(
SamplesT.SampleReceived
BETWEEN NZ([Forms]![SampleSearchF]![DateReceivFrom], SamplesT.SampleReceived)
AND NZ([Forms]![SampleSearchF]![DateReceivTo], SamplesT.SampleReceived)
);
始終指定參數的數據類型:
Parameters
[Forms]![SampleSearchF]![txtSpeciesName] Text ( 255 ),
[Forms]![SampleSearchF]![txtMicrochip] Text ( 255 ),
[Forms]![SampleSearchF]![txtName] Text ( 255 ),
[Forms]![SampleSearchF]![txtLocation] Text ( 255 ),
[Forms]![SampleSearchF]![DateReceivFrom] DateTime,
[Forms]![SampleSearchF]![DateReceivTo] DateTime;
Select *
From YourTable
Where ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.