2

我想做这样的事情:

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可以吗?

我尝试了不同的方法来做到这一点,但我总是得到如下错误:
Variables uses an Automation type not supported in Visual Basic

好的,我明白消息的含义,但我想知道是否有办法这样做。

4

2 回答 2

2

好的,你所有的变量都是字符串,检查 `rstReal.("field") 的返回是否也是字符串,如果不是,进行转换。我相信名字是字符串,所以检查“ID”。

If(strCurrentName = rstReal.Fields("Name") OR (strCurrentMat = CString(rst.Fields("ID")) Then
     'code code
End If
于 2013-10-25T11:12:50.777 回答
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对象的默认属性,它应该也适用于您的版本。

于 2013-10-25T11:15:04.773 回答