我有一个与访问数据库一起使用的 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的数据库