繁体   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