MS-Access:如何将MM / DD / YYYY格式的文本字符串转换为MS-Access中的正确日期?

问题描述 投票:0回答:1

我有一个MS-Access数据库表(带有学校的候选数据),有几百条记录,候选人的出生日期保存为文本字符串,STRICTLY为“mm / dd / yyyy”格式。

现在我想要一个查询来检索值,同时将文本字符串值转换为Date类型,以便可以对它进行排序(在desc或asc的日期顺序,如果需要),以找出查询结果中最老的候选者。

我完全绝望地发现,字符串“01/11/2003”被转换为“2003年11月1日”(应该是2003年1月11日),但字符串“11/15/2002”是转换为“2002年11月15日”。

在此过程中,我尝试了以下策略,所有这些策略都产生了相同的结果:

  1. 使用Gord Thompson建议的自定义VBA函数ConvertMyStringToDateTime
  2. cdate([dob])其中dob是包含出生日期为文本字符串的字段名称
  3. DateValue([dob])其中dob是包含出生日期为文本字符串的字段名称
  4. Format([dob],"mm/dd/yyyy")其中dob是包含出生日期为文本字符串的字段名称

如何强制转换函数了解我总是将输入文本字符串作为“mm / dd / yyyy”格式提供? enter image description here

ms-access ms-access-2016
1个回答
1
投票

使用DateSerial:

TrueDoB: DateSerial(Mid([dob], 7, 4 ), Mid([dob], 1, 2), Mid([dob], 4, 2))

此代码段应该教您将日期存储为日期,而不是文本。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.