我有一个MS Access 2010前端/ SQL Server 2012后端数据库,并在不同表中包含多个日期字段。有时我需要存储时间,所以我使用了数据类型datetime或smalldatetime。但是某些字段只需要存储日期,所以我使用了数据类型Date。Sql Server日期类型显示为MS Access中的文本字段
我的问题是,在MS Access中,我的ODBC链接表将Date数据类型字段显示为Text。这会导致一些日期以yyyy-dd-mm格式存储,而其他格式则以yyyy-mm-dd格式存储。
这是一个错误?我需要使用smalldatetime吗?
感谢您的任何援助, 吉姆
只是为了澄清这是显示格式问题,因为SQL Server将Date存储为[3字节整数](http://msdn.microsoft.com/zh-cn/library/bb630352%28v=sql.110%29.aspx)。日期的格式不存储。 – 2014-12-04 16:44:33
嗨康拉德,这是一个格式问题,但它超越了这一点。例如,我有一个访问查询,该查询应排除[datefield]> Date()的任何记录,但由于[datefield]正在作为文本字符串加载,因此该记录将被包含。 此外,如果我查看Access中链接表的表格设计,它会将该字段显示为文本字段,而不是日期字段。 – BiigJiim 2014-12-04 18:00:49
你可能想尝试'CDate([datefield])> Date()'或者尝试使用'DateTime'而不是'Date'并使用输入掩码。 – 2014-12-04 19:17:02