1

我有一个与访问数据库一起使用的 excel 表。我想打开数据库并使用具有不同查询的不同子例程。但是我不知道公开分配一个变量来使用数据库,所以我必须在每个子例程中创建连接并打开和关闭它。

我有一种感觉,它必须能够做得更聪明,所以我没有在它上面写相同的代码。

我使用以下代码打开数据库,并且必须为每个查询一遍又一遍地执行此操作:

Public Sub copy_to_sql()

    Dim Cn As New ADODB.Connection
    Dim Rs As New ADODB.Recordset
    Dim Cmd As New ADODB.Command

    Dim strMDB As String

    strMDB = ThisWorkbook.Path & "\klantserverinfo.accdb"
    ' Set Cn = CreateObject("ADODB.Connection")
    Cn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" & strMDB
    Cn.Open

    '--- Do some queries like

    SqlQuery = "SELECT * FROM database"

    Set Cmd.ActiveConnection = Cn
    Cmd.CommandText = SqlQuery
    Cmd.CommandType = adCmdText

    Set Rs.Source = Cmd
    Rs.Open    

    Cn.close
End Sub

有谁知道如何更好地做到这一点?

ps,我用的是office 2010,使用的数据库是access 2010的数据库

4

0 回答 0