Excel和SQL查询通过不同的潜艇或function

我有一个Excel表,我使用访问数据库。 我想打开数据库,并使用不同的子例程与不同的查询。 但是我不知道公开地分配一个variables来使用数据库,所以我必须在每个子程序中创build连接并打开并closures它。

我有一个恐惧,这必须能够做得更聪明,所以我没有写在它的相同的代码。

我用下面的代码打开数据库,并且必须对每个查询反复执行:

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数据库