У меня есть следующий код, который получает данные из таблицы базы данных с ADODB и выводит на лист. Я часто этим пользуюсь, меняя между cnn (access / mysql et c ....) / разными запросами.
Есть ли способ, как я могу создать это как функцию, чтобы минимизировать повторяющийся код?
Sub getDBdata()
Dim Cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Set Cnn = New ADODB.Connection
Set rs = New ADODB.Recordset
Cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\test\TESTDB.MDB"
SQLString = "SELECT * FROM TABLE1"
rs.Open SQLString, Cnn, adLockReadOnly
Sheet1.Range("A2").CopyFromRecordset rs
rs.Close
Cnn.Close
Set Cnn = Nothing
Set rs = Nothing
End Sub
пример:
sub getSpecificData()
Connection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\test\TESTDB.MDB"
SQLString = "SELECT COLUMN1 FROM TABLE1"
OutputLocation = Sheet1.Range("A1")
getDBData Connection, SQLString, OutputLocation
End Sub
Цените любую помощь