Access データベースで使用する 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
これをより良く行う方法を知っている人はいますか?
追伸、私は Office 2010 を使用しており、使用されているデータベースは Access 2010 データベースです。