条件1或条件2

时间:2013-10-25 10:48:18

标签: if-statement vb6

我想做这样的事情:

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不支持的自动化类型

好的,我知道这条消息的意思,但我想知道是否有办法这样做。

2 个答案:

答案 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

但由于.ValueField对象的默认属性,因此它也适用于您的版本。