MS-Access VBA Date()适用于一台PC但不适用于其他PC

时间:2015-07-23 19:14:11

标签: vba date ms-access

我正在设计我的第一个数据库,我在过去几周里学到了很多东西。有一件事一直在吃我,但在我的登录页面上,我有一个简单的未绑定文本框,其控制源为=Date()

这在我大多数时间使用的计算机上运行得非常好,但我正在使用的设施中的任何其他计算机都显示#NAME?而不是日期。

我尝试过更改为=Now(),并且在所有计算机上都能正常运行。显然只有=Date()有问题。如果字段控制源更改回=Date(),我会被告知您输入的功能无法在此表达式中使用。

我检查了MS-Access版本,并试用了有和没有访问权限的计算机。

我真的需要Date()才能工作,因为它在我的代码的更重要区域的其他地方使用,我可能无法在其位置使用Now()。关于为什么这可能不适用于我自己的任何PC上的任何想法?

2 个答案:

答案 0 :(得分:2)

Date()由Visual Basic For Applications X.XX参考控制。确保已安装引用并删除任何竞争引用。

要执行此操作,请打开VBA窗口并转到工具 - >参考并确保检查正确的。

答案 1 :(得分:0)

我怀疑问题是用户的日期区域和语言设置。当我更换计算机时,我注意到了这一点,由于日期中的斜线,我的文件不再保存。您应该尝试使用format()功能,以便日期始终具有相同的格式,并且可以在不同用户设置的机器上使用。

Sub Foo()
    Debug.Print Date
    Debug.Print format(Date, "yyyy-mm-dd")    
End Sub

输出

7/23/2015 
2015-07-23