从Access导入Excel时的混合日期格式

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

我在从Access导入数据时遇到一些问题,一些日期格式反转为例,在数据库02 octobre在我的导入中变成2月10日,而9月29日保持不变。

在Access数据库上,日期采用日期格式。似乎在导入期间,唯一没有反转的日期被导入为字符串,这不是我想要的,因此29/09/2017作为字符串导入。并且日期日期以日期格式导入,月份和日期反转,因此02/10/2017导入为2017年2月10日,并在excel中被识别为2月10日。

这是我的代码的一部分,我从访问中检索数据

Dim str_req As String

str_req = "SELECT  " & param_champs & " FROM Histo a, Referential b WHERE   a.productID = b.ID  AND  a.Isin IN " & sicoList


Dim recordset As New ADODB.recordset

recordset.Open str_req, objConn, adOpenDynamic
Worksheets("test").Range(Cells(2, colref), Cells(1500, colref + 2 + WorksheetFunction.CountA(Range("test.champs")))) = WorksheetFunction.Transpose(recordset.GetRows)

如果有人知道可能导致这个问题的原因以及如何解决这个问题,那对我来说真的有帮助,因为我不是Access的专家。

vba ms-access import date-format
1个回答
1
投票

您没有设置param_champs的位置,但在该字符串中,您可以添加此SQL(假设在01/01月份和日期,源代码中始终存在0)

CDATE(MID(date_column , 4, 3) & LEFT(date_column,3) & RIGHT(date_column, 4))

如果你有表写访问权限,并且它不会破坏任何东西,最好在表本身中修复它。您可以使用更新语句执行此操作。

UPDATE temptemp
SET date_column = MID(date_column , 4, 3) & LEFT(date_column,3) & 
RIGHT(date_column, 4);

之后,在表的设计视图中,将日期字段更改为日期/时间数据类型。

© www.soinside.com 2019 - 2024. All rights reserved.