访问2003 - VBA - 入世对两种类型(字符串=日期)

问题描述:


背景:林忙于研究,这是我收到存储在Oracle数据库数据。我自己使用Access数据库来存储来自oracle数据库的数据(以及来自其他来源的数据,与此问题无关)访问2003 - VBA - 入世对两种类型(字符串=日期)

来自oracle数据库的数据以访问格式发给我。然后,我运行以下查询来检索“oracle数据”,并将插入(或更新,如果行已经被删除)到我自己的访问数据库中。

oracle数据库导出以文本格式保存日期,我在自己的数据库中有日期格式,所以我使用VBA函数来转换日期中的文本。


我的问题:我可以在一个字符串和日期参加如果字符串转化为一个日期吗?我应该如何继续?

UPDATE [TABLE1] INNER JOIN [URI_to_oracle_export.mdb].[TABLE2] 
ON ([TABLE1].PT=[TABLE2].PT) 
AND ([TABLE1].DCMDATE=toDateFunction([TABLE2].DCMDATE)) 
AND ([TABLE1].CPEVENT=[TABLE2].CPEVENT) SET ...the rest of the SQL.. 

我toDateFunction:

Function toDateFunction(input As String) 

toDateFunction= CDate(Right(input , 2) & "/" & Mid(input , 5, 2) & "/" & Left(input , 4)) 

End Function 

所以根据您的转换功能,它看起来好像您收到的Oracle文本格式是年月日,使用类型转换在这种情况下,加入我宁愿反过来工作,并将我的访问值转换为文本,例如:

WHERE OracleTable.Date = Format(AccessTable.Date, "YYYYMMDD") 

INNER JOIN OracleTable ON OracleTable.Date = Format(AccessTable.Date, "YYYYMMDD") 

你仍然可以做反向和您的Oracle价值转换为日期,如果你想这将是更喜欢:

WHERE DateSerial(Left(OT.Date,4),Mid(OT.Date,5,2),Right(OT.Date,2)) = AT.Date 

在构建您的日期值从字面上我更喜欢使用DateSerial到CDATE