Ik maak gebruik van een macro (achter een knop) om gegevens uit Access op te halen. Dit werkt alleen als ik op het gegevensblad in Excel een query defineer die naar hetzelfde veld verwijst als in de macro. Het maakt niet uit wat voor query ik gebruik in het gegevensblad, als die maar verwijst naar de database die ik ook gebruik in de macro. Ik heb dan ook het idee dat in de macro de koppeling met de database niet goed tot stand wordt gebracht. Iemand die iets verder is met VBS dan knippen en plakken (zoals ik) die weet wat er in mijn macro ontbreekt?
Ik hem hem hieronder volledig bijgevoegd. En moet eerlijk bekennen niet geheel te begrijpen wat er precies allemaal in gedaan wordt. De query's op zich werken prima, daar zit het hem niet in.
Sub Blad2_Knop1_BijKlikken()
'
' Dalend Macro
' Query dalende omzetten
Range("A5").Select
With Selection.QueryTable
.Connection = Array(Array( _
"ODBC;DBQ=d:\stage\Mavis60-3.mdb;DefaultDir=d:\stage;Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;MaxBufferSize" _
), Array( _
"=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;" _
))
.CommandText = Array( _
"SELECT b64artinr F" _
, _
"ROM b64artst1; " _
)
.Refresh BackgroundQuery:=False
End With
End Sub
Ik hem hem hieronder volledig bijgevoegd. En moet eerlijk bekennen niet geheel te begrijpen wat er precies allemaal in gedaan wordt. De query's op zich werken prima, daar zit het hem niet in.
Sub Blad2_Knop1_BijKlikken()
'
' Dalend Macro
' Query dalende omzetten
Range("A5").Select
With Selection.QueryTable
.Connection = Array(Array( _
"ODBC;DBQ=d:\stage\Mavis60-3.mdb;DefaultDir=d:\stage;Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;MaxBufferSize" _
), Array( _
"=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;" _
))
.CommandText = Array( _
"SELECT b64artinr F" _
, _
"ROM b64artst1; " _
)
.Refresh BackgroundQuery:=False
End With
End Sub