我想做这样的事情:
strCurrentName = rstAux.Fields("Name")
strCurrentMat = rstAux.Fields("ID")
Dim rstAux As Recordset
Dim rstReal As Recordset
Dim strCurrentName As String
Dim strCurrentMat As String
Set rstAux = New ADODB.Recordset
Set rstReal = New ADODB.Recordset
If( (strCurrentName = rstReal.Fields("Name")) OR (strCurrentMat = rstReal.Fields("ID")) Then
'codeee
End If
VB6有可能吗?
我尝试了不同的方法,但我总是得到如下错误:
变量使用Visual Basic不支持的自动化类型
好的,我知道这条消息的意思,但我想知道是否有办法这样做。
答案 0 :(得分:2)
好的,你的所有变量都是字符串,检查`rstReal。(“field”)的返回是否也是字符串,如果不是,则进行转换。我相信name是字符串,所以请检查“ID”。
If(strCurrentName = rstReal.Fields("Name") OR (strCurrentMat = CString(rst.Fields("ID")) Then
'code code
End If
答案 1 :(得分:1)
这应该有效:
Dim rstAux As New ADODB.Recordset
Dim rstReal As New ADODB.Recordset
Dim strCurrentName As String
Dim strCurrentMat As String
If strCurrentName = rstReal.Fields("Name").Value Or _
strCurrentMat = rstReal.Fields("ID").Value Then
'codeee
End If
但由于.Value
是Field
对象的默认属性,因此它也适用于您的版本。