计算计算字段中的天差

时间:2016-12-16 15:23:04

标签: ms-access-2010 calculated-field database-table

我已经尝试了我能想到的每一种变化。

我有一个表格,在一个字段中显示[Appt Date]。我想从今天开始减去那个日期给我[适用日期]。

我在计算字段的表达式构建器中尝试了几种变体

=DateDiff("d",[Appt Date]-Date())
=[Appt Date]-Date()

等等。

我不断提出的错误信息是

  

表达式[APPT日期] -Date()不能用于计算列。

我在日期/时间计算字段和数字计算字段

中尝试了此操作

非常感谢您的帮助

2 个答案:

答案 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)

如果,则可以避免日期或时间的浮动行为 通过切断日期的右边部分来截断。

然后我可以比较日期。我的日历应用程序可以运行。

来自德国巴伐利亚州奥托布伦的致以最诚挚的问候