我写的如下代码是想判断数据库中是否已有我要选择的记录,但是我的如下代码在执行时提示:“对象不支持这个属性或方法”
Data3.RecordSource = "select name from moshi where  tiaojian='" & Combo1.Text & "'"
Data3.Refresh
If Data3.Recordset.Count > 0 Then  ————就是这一行的毛病
        a = MsgBox("有记录!",vbOKOnly, "提示")
        Exit Sub
End If我不知道还有什么其他的办法可以判断是否有记录呢?
谢谢指教!

解决方案 »

  1.   

    你可以用ADO来做。
    先建立一个数据库连接
    Public conn As ADODB.Connection   '声明一个ADO数据连接声明
    Public Function C_LianJie() As Boolean
    On Error GoTo ine
    'If conn Is Nothing Then     '如果conn没有初始化
       Set conn = New ADODB.Connection
       With conn
            .Provider = "SQLOLEDB"     '设置成OLEDB连接
            .CommandTimeout = 10
            .ConnectionTimeout = 10
            .IsolationLevel = adXactReadCommitted
       End With
    'End If
    If conn.State = adStateClosed Then       '如果连接关闭。重新建立连接
       conn.Open "server=Ftp001;database=Zouthe;", "sa", ""  '<-这里是你的数据库连接字符串
       'MsgBox "连接成功", , "提示信息"
    End If
    GoTo inerr
    ine:
       MsgBox Err.Description, , "错误信息"
    inerr:
    End Function然后调用ADO的rs结果集
    Dim rs As New ADODB.Recordset
    Dim tempSQL As String
    tempSQL = "select name from moshi where  tiaojian='" & Combo1.Text & "'"
    rs.Open tempSQL, conn, adOpenKeyset
    If rs.RecordCount > 0 Then
       .......
    Else
       ....... 
    End If
    Set rs = Nothing
      

  2.   

    我想先看一下数据库连接的代码,就是ado连接字符串,可能有以下几种情况
    1、提供者不支持记录计数,则RecordCount属性等于-1。
    2、单项临时表的RecordCount属性总是-1如果是情况1
    则遍例一下RecordSet就行了如果是情况2
    则要自己计数了
      

  3.   

    我只是用了这么个简单的连接的
    Data3.DatabaseName = App.Path & "\test.mdb"