我已经尝试了我能想到的每一种变化。
我有一个表格,在一个字段中显示[Appt Date]。我想从今天开始减去那个日期给我[适用日期]。
我在计算字段的表达式构建器中尝试了几种变体
=DateDiff("d",[Appt Date]-Date())
=[Appt Date]-Date()
等等。
我不断提出的错误信息是
表达式[APPT日期] -Date()不能用于计算列。
我在日期/时间计算字段和数字计算字段
中尝试了此操作非常感谢您的帮助
答案 0 :(得分:0)
首先,不要使用计算字段。使用查询,这就是它们的用途。
其次,使用DateDiff的正确语法:
Select *, DateDiff("d", Date(), [Appt Date]) As Days From YourTable
如果[Appt Date]
包含没有时间部分的日期值,您甚至可以使用:
Select *, [Appt Date] - Date() As Days From YourTable
如果[Appt Date]
的数据类型不是日期,请先转换为日期:
Select *, DateDiff("d", Date(), DateValue([Appt Date])) As Days From YourTable
Select *, DateValue([Appt Date]) - Date() As Days From YourTable
答案 1 :(得分:-1)
比较日期似乎很困难。我自己开发一个日历,我发现,Microsoft Access 2010为明显相等的日期/时间提供了非常不同的值。为了比较我的日期,首先要将日期计算为长值。
Dim longTermDate As Long longTermDate = CLng(PubDateDateActual * 10000)
如果,则可以避免日期或时间的浮动行为 通过切断日期的右边部分来截断。
然后我可以比较日期。我的日历应用程序可以运行。
来自德国巴伐利亚州奥托布伦的致以最诚挚的问候