原始:
使用VB6
如果rsCardEvent(4).Value = Str Then TimOut = rsCardEvent(4) 其他 TimeOut = Left(TimOut,2)& “:”& Mid(TimOut,3,2)& “:”&对(TimOut,2) 结束如果
获取类型错误匹配错误。 如何查找记录集值是字符串或数字
我确实需要
如果编号表示打印编号,如时间格式(HH:MM:SS) 其他 打印字符串值
上述条件的编码帮助
已修改版本:
我正在使用ADO.Recordset
对象,并尝试在运行时确定列的数据类型。我需要在代码中以不同的方式处理列值,具体取决于其基础数据类型。如果列值是一个字符串,我想使用原样值。如果是数字,我想将该数字视为打包时间并将其转换为HH:MM:SS
格式(即数字120537
将转换为字符串"12:05:37"
)。
下面是一些示例代码,演示了我想要实现的目标。但是,当我运行此代码时,出现“类型不匹配”错误:
If rsCardEvent(4).Value = Str Then
TimOut = rsCardEvent(4)
Else
TimeOut = Left(TimOut, 2) & ":" & Mid(TimOut, 3, 2) & ":" & Right(TimOut, 2)
End If
答案 0 :(得分:1)
答案 1 :(得分:1)
根据this article,如果rsCardEvent
是ADO记录集,则可以检查Type属性。像这样:
Select Case rsCardEvent(4).Type
Case adBSTR, adChar, adVarChar, adWChar, _
adVarWChar, adLongVarChar, adLongVarWChar
' It is a string '
Case Else
' It is not a string '
End Select
答案 2 :(得分:0)
您可以使用VB6中提供的IsNumeric功能。
答案 3 :(得分:0)
怎么样:
If TypeName(rsCardEvent(4).Value) = "String" then