【发布时间】:2018-09-15 00:12:07
【问题描述】:
我有一个包含数百条记录的 MS-Access 数据库表(包含学校的候选人数据),候选人的出生日期保存为文本字符串,严格采用“mm/dd/yyyy”格式。
现在我想要一个查询来检索值,同时将文本字符串值转换为 Date 类型,以便可以对其进行排序(在需要时按日期的 desc 或 asc 顺序)以找出查询中最年长的候选人结果。
我完全失望地发现,字符串“01/11/2003”被转换为日期“01-Nov-2003”(应该是 11-Jan-2003)但是字符串“11/15/ 2002”转换为日期“2002 年 11 月 15 日”。
在这个过程中,我尝试了以下策略,结果都是一样的:
- 按照 Gord Thompson 的建议使用自定义 VBA 函数 ConvertMyStringToDateTime
-
cdate([dob])其中 dob 是包含出生日期作为文本字符串的字段名称 -
DateValue([dob])其中 dob 是包含出生日期作为文本字符串的字段名称 -
Format([dob],"mm/dd/yyyy")其中 dob 是包含出生日期为文本字符串的字段名称
【问题讨论】:
-
非常感谢。虽然这并没有直接解决我的问题,但帮助我换了思路。我回到我的本地机器区域设置并查看了日期选项卡。将短日期格式设置为 MM/dd/yyyy 格式。瞧——做到了。现在上图不一样了。 dob 列中的所有文本字符串日期都得到正确解释。
-
欢迎您 :) 很高兴能够提供帮助。