【发布时间】:2014-02-04 20:04:24
【问题描述】:
我有一个带有 Access 2007 前端的 SQL Server 2012 数据库。我的问题是 Access 无法识别 SQL Server 的日期,因为它们的格式不同。
- SQL Server-s 格式为
YYYY-MM-DD - 访问格式为
DD-MM-YYYY
当日期显示在文本框中时,它显示为字符串(旁边没有小日历图标)。 无论如何我可以配置我的 Access 前端,以便它识别 SQL Server 的日期?
我使用 Microsoft SQL Server Migration Assistant for Access 将数据迁移到 SQL Server
由于这个数据库正在开发中,我的本地计算机上的 SQL Server 位于 C 驱动器(无虚拟驱动器)
根据我的研究,我找到了这个答案:
用户遇到的问题与驱动程序有关。 Microsoft 有一个必须放在客户端上的新 DLL 工作站(或 Citrix 的服务器)。完成后,MS Access 中的所有日期都将有效 适当地。我对 Access 2010 的最新体验与 Access 2003 完全相同。 它需要一个 DLL。从那里,使用无 DNS 连接字符串进行调查
在哪里可以找到这个 DDL 驱动程序以及如何安装它。
谢谢 马格斯
【问题讨论】:
-
您在 SQL 中将日期存储为
DATETIME还是VARCHAR?如果是 DATETIME,那么在 SQL 和 ACCESS 中遇到DATETIME应该没有问题。 SQL Server 不存储格式,它以一种或另一种方式显示日期的唯一原因是基于您的 SQL-Server 设置。 -
进一步了解@SaUce 的要求,请指明SQL Server 中的实际 列类型。 SQL Server 中的
datetime列应在 Access 中显示为Date/Time字段。其他 SQL Server 列类型,如date和time通常在 Access 中显示为文本值(因为 Access 没有仅是Date或Time的字段类型)。 -
另外:(1) 如果您可以提供您在问题中引用的有关 DLL“修复”的文章的链接,请编辑您的问题以包含它。 (2) 更新后的 DLL 是否改变了 Access(或 ODBC)的行为,还是改变了 SQL Server 迁移助手的行为?
-
您好,我进行了一轮工作。导入数据时,它从访问日期开始,在迁移到 SQL Server 时以 dataTime2 结束。然后我将内容复制到另一列,该列具有国际日期格式的数据类型日期。在访问中,它以国际格式显示为 dateTime。如果我不必将数据复制到另一列会更容易。谢谢:-)
-
您好,我将尝试找到该答案并将其链接。感谢您的建议和帮助 maggs
标签: sql-server datepicker ms-access-2007 date-format data-migration