第一次用VB6+ACCESS2003做个小东西,但以ADO方式连接的时候总提示  实时错误‘3704’ 对象关闭时 不允许操作
我打了SP6的补丁还是不行 这个问题憋两天了还没解决了,希望大大给个解决方法 最好带代码 小弟拜谢了//这是public module里面的东西
Option Explicit
Public dbConn As New ADODB.Connection
Public loginOK As Boolean
Sub Main()
    If ConnectToDatabase = False Then
        MsgBox "连接数据库出错!"        
        End
    End If
    loginOK = False
    If loginOK Then
        formDesign.Show
    End If
End Sub' 连接到数据库
Function ConnectToDatabase() As Boolean
    On Error GoTo ERR_CONN
    ' 设置服务器名称,数据库名称,登录名(此时假设密码为空)
   dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= D:\我的文档\db1.mdb ;Persist Security Info=False"
    dbConn.Open
    ConnectToDatabase = True
    Exit Function
ERR_CONN:
    ConnectToDatabase = False
End FunctionDim strSql As String
//...strSql = "Insert into design (型号,日期,客户,..)" //该句太长 就没打出来了
dbConn.Execute strSql //这句这里出现3704了,怀疑是连不上ACCESS 有高手看到的话 帮忙解决下,

解决方案 »

  1.   

    用Microsoft.Jet.OLEDB.4.0搜索引擎
      

  2.   

    MICROSOFT jet 4.0 OLE DB Provide
      

  3.   

    看来是你的SQL语句有写法有问题,以及连接代码顺序似乎有错.
        Dim cn As New ADODB.Connection '定义数据库的连接
        Dim sql As String
        sql = "select * from jishijilu "
        Dim rs As New ADODB.Recordset
        cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\wd.mdb;Persist Security Info=False"
        cn.Open
        rs.CursorLocation = adUseClient
        rs.Open sql, cn, adOpenDynamic, adLockOptimistic
        Set DataGrid1.DataSource = rs
      

  4.   


    Function ConnectToDatabase() As Boolean 
        'On Error GoTo ERR_CONN '注释掉这句
        ' 设置服务器名称,数据库名称,登录名(此时假设密码为空) 
      dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= D:\我的文档\db1.mdb ;Persist Security Info=False" '观查这句是否出错?
        dbConn.Open 
        ConnectToDatabase = True 
        Exit Function 
    ERR_CONN: 
        ConnectToDatabase = False 
    End Function 
      

  5.   


    Function ConnectToDatabase() As Boolean 
         'On Error GoTo ERR_CONN '注释掉这句
         '设置服务器名称,数据库名称,登录名(此时假设密码为空) 
      dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= D:\我的文档\db1.mdb ;Persist Security Info=False" '观查这句是否出错?
        dbConn.Open '如果上一句出错,这里会报错
        ConnectToDatabase = True 
        Exit Function 
    ERR_CONN: 
        ConnectToDatabase = False 
    End Function 
      

  6.   

    VB6不支持对ACCESS2003数据库的操作!将数据库另存为低版本的吧。
      

  7.   

    http://download.csdn.net/source/1498324
      

  8.   

    问题好像解决了 
    我昨天的VB6.0的SP6补丁在装了企业版后才打上的 今天上午写测试程序的时候弹出来N个错误
    今天卸载了 装了个VB6.0+SP6集成版 
    添加了ADODC和DATAGRID控件再设置好后  采用如下代码再DATAGRID中就可以显示表里的内容了  我先看看能不能从text中将数据插入到表中  可以的话 就没问题了   不管怎么样 谢谢楼上的兄弟Option Explicit
    Public dbConn As New ADODB.Connection
    Public loginUser As String
    Public loginOK As Boolean
    Sub Main()
        If ConnectToDatabase = False Then
            MsgBox "连接数据库出错!"
           End
        End If
         loginOK = False
        If loginOK Then
            mainForm.Show
        End If
    End Sub' 连接到数据库
    Function ConnectToDatabase() As Boolean
        'On Error GoTo ERR_CONN
        ' 设置服务器名称,数据库名称,登录名(此时假设密码为空)
       dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;date source =gh"
        dbConn.Open
        ConnectToDatabase = True
        Exit Function
    ERR_CONN:
        ConnectToDatabase = False
    End Function