Microsoft Access 2010日期转换

时间:2014-10-13 21:56:51

标签: sql date ms-access

我没有太多经验,所以我提前为一个可能愚蠢的问题道歉。我没有创建这些表,也没有创建过去使用过的查询。随着说 -

在过去的几个月里,我一直在使用提供给我的日期转换查询来更新从整数到日期的列。它曾经工作得很好,我发誓我的最新数据提取的一切都是一样的,但在某些时候,日期开始变得不稳定。例如,典型的日期列可能如下所示:

58222
58158
59076
58103

转换查询看起来像这样:

IIf([D_posting]<>0,[D_posting]-18261,0)

并将上述日期返回为:

05/27/2059
03/24/2059
09/27/2061
01/28/2059

这显然是错的。这种情况让我想起我记得我们是如何在C ++中生成随机数字的(很久以前),但对于我的生活,我无法弄清楚如何在没有参考点的情况下对正确的减法因子进行逆向工程。

我也试过使用CDate()函数,它也导致了一堆未来日期,让我想知道是否还有其他错误。我在一个小医生小组工作,所以它可能是电子健康记录软件中的东西,但我想建议我应该检查什么,以确保它没有我做过。

1 个答案:

答案 0 :(得分:0)

您可以创建一个使用&#39; cdate&#39;功能(见下文)返回日期。您可以修改代码,以便减去偏移量(可能是18261?)

在VBA的即时窗口中,您可以修改以下内容:

&#39; cdate&#39;将取一个数字并将其转换为日期:

?cdate(41925)

2014/10/13

&#39; cdbl&#39;将采取日期并转换为数字。

?CDbl(Date())

41926