首先是不能识别数据库,可是我想用data做,因为之前写了很多代码,再换成ado,不熟悉
在网上搜到一篇关于data访问access2000的文章
提示加上Set Data1.Recordset = rsDAO36这行语句
可是我加了,还是没有效果,错误是要求对象以下是代码。大哥们帮帮忙Set Data1.Recordset = rsDAO36
Set db = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\user.mdb", False)
Set rst = db.OpenRecordset("user", dbOpenTable)
 rst.Seek "=", id.Text
 If rst.NoMatch = False Then
        MsgBox "编号已经存在,请重新输入", 0 + 48, "提示"
        Else
        rst.AddNew
        SaveChanges
     id.Text = ""
     prs.Text = ""
      db.Close '关闭数据库否则, 无法在启动客户端的同时打开数据库,会产生冲突

解决方案 »

  1.   

    不装装SP6的话.data控件只支持access97,不支持access2000
      

  2.   

    data只支持access97,不支持access2000,建议你更换使用adodc控件
      

  3.   

    给你ADO的例子
    在引用中加入 Microsoft ActiveX Data Objects 2.5 Library    '2.5是版本现在有2.8了
    Dim Cnn As ADODB.Connection
    Dim RST As ADODB.RecordsetPrivate Sub Form_Load()
    Set Cnn = New Connection
    Cnn.CursorLocation = adUseClient
    Cnn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb;"
    Set RST = New ADODB.RecordsetRST.Open "SELECT * FROM std", Cnn, adOpenStatic, adLockOptimistic
    Set Text1.DataSource = RST
    Set Text2.DataSource = RST
    Text1.DataField = "N"
    Text2.DataField = "G"
    End Sub
      

  4.   

    Private Sub Form_Load()
        Dim strConn As String
        Dim pubConn As New ADODB.Connection
        Dim rsTable As New ADODB.Recordset
        Dim strSQL As String    'Access 2000的連接
        strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\North.mdb;Persist Security Info=False"
        'SQL Server2000的連接
        strConn = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=develop; password=12345;Data Source=ServerName"
        pubConn.Open strConn    rsTable.CursorLocation = adUseClient
        strSQL = "select  * from TableName"
        rsTable.Open strSQL, pubConn, adOpenDynamic, adLockOptimistic
        Set DataGrid1.DataSource = rsTableEnd Sub