嗨,我是一个新手,有一个问题,我一直试图解决几个星期。我有一个从excel导入的表格,日期为文本格式(因为日期可以追溯到1700年代)大多数都采用“mmmyyyy”格式,所以将“1”添加到日期,转换为日期格式和排序相对容易在正确的日期顺序。我遇到的问题是表中的某些日期只是“yyyy”,有些是空的。我找不到一个能够将最后两个转换为例如1月1日yyyy和1月1日1000在同一个表达式中的表达式。这可能,或者我需要在两个查询中执行此操作吗?对不起,如果这个问题非常基础 - 我无法在任何地方找到答案。 TIA
答案 0 :(得分:0)
您可以执行以下操作:
Public Function ConvertDate(Byval Expression As Variant) As Date
Dim Result As Date
If IsNull(Expression) Then
Result = DateSerial(1000, 1, 1)
ElseIf Len(Expression) = 4 Then
Result = DateSerial(Expression, 1, 1)
Else
Result = DateValue(Right(Expression, 4) & "/" & Left(Expression, 3) & "/1")
End If
ConvertDate = Result
End Function