通过不同的子或函数进行excel和sql查询

时间:2013-05-08 08:32:05

标签: sql excel vba excel-2010 ms-access-2010

我有一张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,使用的数据库是访问2010数据库

0 个答案:

没有答案