ADO betekent “ActiveX Data Objects“. Kun je verder vergeten. Wat kun je er mee? Gegevens ophalen uit een ander (Excel)bestand. Dat andere bestand fungeert dan als een soort database. Wat mij betreft kun je net zo goed het bestand openen en de gegevens die je nodig hebt filteren en vervolgens kopiëren om er verder mee te werken.
Wie persé die voorziening wil gebruiken hier een voorbeeld.
‘***********************************************
‘Geef een verwijzing op naar:
‘Microsoft ActiveX Data Objects Library
‘Te bereiken via: Alt+F11 | Extra | Verwijzingen
‘***********************************************
'***********************************************
'Geef een verwijzing op naar:
'Microsoft ActiveX Data Objects Library
'Te bereiken via: Alt+F11 | Extra | Verwijzingen
'***********************************************
Sub Voorbeeld_ADO_Verbinding()
Dim arrMatrix As Variant
Dim objVerbinding As New ADODB.Connection
Dim objGegevensSet As New ADODB.Recordset
Dim strPad As String, strVerbind As String, strQuery As String
'Pad naar je bestand waar je gegevens van wil ophalen
strPad = "C:\temp\Copy_Of_Musea.xlsx"
strVerbind = "Provider=MSDASQL.1;DSN=Excel Files;DBQ=" & strPad & ";HDR=Yes';"
objVerbinding.Open strVerbind
'Tabelnaam is de bladnaam bijv. [Copy_Of_Musea$]
'Let op het Dollarteken achter Musea. Dat MOET erachter.
strSQL = "SELECT * From [Copy_Of_Musea$]"
objGegevensSet.Open strSQL, objVerbinding
'Gegevens in matrix laden
arrMatrix = objGegevensSet.GetRows
'Gegevens in blad plakken
ActiveSheet.Range("A2").CopyFromRecordset objGegevensSet
'Gegevensset sluiten
objGegevensSet.Close
'Verbinding sluiten
objVerbinding.Close
End Sub