簡體   English   中英

MS Access 不過濾短日期格式的計算字段

[英]MS Access doesn't filter calculated field in Short Date format

在我的數據庫中,我有一個具有以下計算的字段:

AD logon date: IIf([lastLogonDate]>[LLTConverted],[lastLogonDate],[LLTConverted])

我使用以下標准對其進行過濾:

<Date()-60

但是,當我運行查詢時,它會顯示過去 60 天內的日期。

在源文件中,lastLogonDate 和 LLTConverted 設置為短日期格式。 我嘗試手動(通過屬性)將 AD 登錄日期字段的格式設置為短日期。 我還嘗試使用以下代碼:

AD logon date: Format(IIf([lastLogonDate]>[LLTConverted],[lastLogonDate],[LLTConverted]),"dd/mm/yyyy")

此外,在屬性表中,我將數據類型設置為帶時間的日期。 他們都沒有工作。

我可以使用另一種方法嗎?

編輯:

過濾前的數據:

2021 年 8 月 1 日
2020 年 9 月 30 日
2020 年 6 月 24 日
17/06/2020
20/05/2020
17/06/2020
28/02/2020
2021 年 7 月 1 日
2020 年 10 月 9 日
2019 年 13 月 11 日
2021 年 7 月 1 日
2020 年 1 月 6 日
21/05/2020
2020 年 5 月 25 日
2021 年 8 月 1 日
2021 年 7 月 1 日
2020 年 7 月 8 日
2020 年 2 月 18 日
28/02/2020
25/06/2020
2020 年 7 月 10 日
2019 年 1 月 4 日
2020 年 7 月 2 日
28/11/2019
2020 年 10 月 28 日
2020 年 2 月 18 日
2020 年 7 月 10 日

過濾后:

2021 年 8 月 1 日
2021 年 7 月 1 日
2020 年 10 月 9 日
2021 年 7 月 1 日
2020 年 1 月 6 日
2021 年 8 月 1 日
2021 年 7 月 1 日
2020 年 7 月 8 日
2020 年 7 月 10 日
2019 年 1 月 4 日
2020 年 7 月 2 日
2020 年 7 月 10 日

你把事情搞混了。 DateTime 值沒有格式,只有一個值。

因此,如果字段 [lastLogonDate] 和 [LLTConverted] 為真 DateTime,則使用 Date()-60 進行過濾不會失敗。

如果是這樣,您的字段很可能是Short Text ,並且必須具有正確的格式,例如 yyyy-mm-dd,並且必須在比較之前對其進行轉換:

AD logon date: DateValue(IIf(DateValue([lastLogonDate]) > DateValue([LLTConverted]), [lastLogonDate], [LLTConverted]))

似乎還有另一種解決方案:如果我在原始 Excel 表中使用 INT function,那么它將值從日期+時間轉換為日期。 在Access中,然后我必須使用

IIf([lastLogonDate]>[LLTConverted],[lastLogonDate],[LLTConverted])

代替

DateValue(IIf(DateValue([lastLogonDate]) > DateValue([LLTConverted]), [lastLogonDate], [LLTConverted]))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM