![](/img/trans.png)
[英]Conversion failed when converting date and/or time from character string in a stored procedure
[英]VBA conversion failed when converting date and/or time from character string
当我搜索互联网时,这是一个经常被问到的问题,但是没有一个答案似乎适合我的问题。 希望您能提供帮助。
我正在尝试使用代码从数据库收集日期:
Sheets("Data").Select
Dim sh1 As Worksheet
Set sh1 = ActiveWorkbook.ActiveSheet
sh1.Activate
If ActiveSheet.FilterMode Then
Range("ActivityPlan[[#Headers],[AIDA]]").Select
ActiveSheet.ShowAllData
End If
Dim lLastRow As Long
'Get Last row
lLastRow = sh1.Range("C" & Rows.Count).End(xlUp).Row
并使用以下三个示例的类型定义了我的值
If Not sh1.Cells(i, 19) = "" Then
tMaintSimulStartDate = Format(sh1.Cells(i, 19), "MM/dd/yyyy")
End If
tMaintExpDate = Format(sh1.Cells(i, 20), "MM/dd/yyyy")
If Not sh1.Cells(i, 21) = "" Then
tUpBaseDteFix = Format(sh1.Cells(i, 21), "MM/dd/yyyy")
Else
tUpBaseDteFix = vbNull
End If
他们似乎都不起作用。 我只是收到错误“从字符串转换日期和/或时间时转换失败”,VBA标记了我的“ CN.Execute(SQL)”
我认为您的单元格sh1.cells(i,19), (i, 20), (i,21)
中的值很可能只是字符串。 它们可能看起来像日期,但Excel不能将其识别为日期。
最好的选择是在VBA中使用DateValue()
函数。 这将输入一个字符串,并吐出一个实际的,诚实至善的日期。 如果失败,那是因为单元格中的Date格式是DateValue()无法识别的。 在这种情况下,您可能必须从单元格中解析出日期值,然后将其发送到DateValue()以将其转换为正确的日期。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.