我有一个包含一些vba代码的excel工作簿。代码将一些数据上传到SQL Server数据库。
代码在我的计算机上运行,但在其他用户上运行。我的电脑设置为美国日期时间格式,其他用户电脑设置为英国日期时间格式。
错误消息如下,
Conversion failed when converting date and/or time from character string
以下是代码段。
DateEntry& DateTemp都是“Date”类型的列。
我该如何解决这个问题?另外我不明白为什么会出现错误,因为虽然日期变量实际上被视为数字。
rs.Open SQLUPLOADTABLENAME, pCn, adOpenKeyset, adLockOptimistic
iCol = 1
iRow = 2
Do Until IsEmpty(ws.Cells(iRow, iCol))
rs.AddNew
rs("DateEntry") = DateTime.Date
rs("DateTemp") = pDtTemp
rs("Temperature") = ws.cells(iRow, iCol)
rs.Update
iRow = iRow + 1
Loop
更新
有关pDtTemp的更多信息。 strDate是以yyyymmdd
格式提供的字符串Private pDtTemp As Date
pDtTemp = DateTime.DateSerial(CInt(Strings.Left(strDate, 4)), CInt(Strings.Mid(strDate, 5, 2)), CInt(Strings.Right(strDate, 2)))
固定
我刚将两行更改为以下行&它现在有效。不能说我完全理解后台发生的事情
rs("DateEntry") = Format(DateTime.Date, "mm/dd/yyyy")
rs("DatePrice") = Format(pDtPrice, "mm/dd/yyyy")