要求在模块中连接access数据库以便调用
测试成功后马上结贴
以下是我写的,报错
Public Sub opencn()
Dim con As ADODB.Connection
Dim strConnection As String
Set con = New ADODB.Connection
On Error GoTo sError
    strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\data.dat;Persist Security Info=False"
    con.CursorLocation = adUseClient
    con.Open strConnection
sError:
    MsgBox "错误:" & Err.Description
    Set con = Nothing
    Exit Sub
End Sub
调用
call opencn
con.execute(......)

解决方案 »

  1.   

    把你的Dim con As ADODB.Connection放到模块的顶部,改成
    Public con As ADODB.Connection就可以了阿,不要使用局部变量
      

  2.   

    data.dat  这个是什么文件,不是ACCESS扩张名呀
    data.mdb
      

  3.   

    Dim con As ADODB.Connection还有就是你这个变量的定义范围仅局部有效,
      过程一结束,变量都消失了,
     定义为全局变量
      

  4.   

    yes, 定义一个public  con As ADODB.Connection
    同时再写一个
    Public sub CloseCn()
     
    End sub
    以关闭数据库
      

  5.   

    照改了,现在提示对象变量或with块变量末定义
    没有with块,
      

  6.   

    我是这样调用的Private Sub Form_Load()
    dim rs
    Call opencn
    Set rs = con.Execute("select * from s_company")
    Set Main.datalist.DataSource = rs
    End Sub
      

  7.   

    连上之后,你没有关数据库,就不用再call了,直接con.execute(......)
      

  8.   

    dim rs as adodb.recordset
      

  9.   

    TIMAGONG()  我只开了一次
    还是提示对象变量或with块变量末定义
      

  10.   

    有没有这样的例子呀。发给我
    在模块中定义数据库连接(access)
    在其它窗体中调用
    在线等。我加分
      

  11.   

    ADODB  对象你没有引用吧
     我猜你的这些代码是copy过来的,然后调试就有对象没有定义了!!
      

  12.   

    我不在模块里定义就能数据库呀~
    我引用了 microsoft active  lib....  2.0 什么的。
    刚学。菜菜的~
      

  13.   

    Function ConnctLocalDB()                                                               '''''''''''''''''''''''''''''''连本地库
    'On Error GoTo ErrorHandle
    '    Dim dbString As String
    '    Set g_ConnectionLocalDB = New ADODB.connection
    '
    '    dbString = ""
    '    dbString = dbString & "Provider=Microsoft.Jet.OLEDB.4.0;"
    '    dbString = dbString & "Persist Security Info=False;Data source="
    '    dbString = dbString & App.Path & "\local.mdb"
    '    g_ConnectionLocalDB.Open dbString
    '
    '    If g_ConnectionLocalDB.State = "0" Then
    '        MsgBox "数据库连接失败!"
    '    End If
    'ErrorHandle:
    '
    'End Function