'Step 1: Declare Your Variables: Excel VBA Code
'Step 1: Declare Your Variables: Excel VBA Code
Sub RunParameterQuery()
'Step 1: Declare your variables
Dim MyDatabase As DAO.Database
Dim MyQueryDef As DAO.QueryDef
Dim MyRecordset As DAO.Recordset
Dim i As Integer
'Step 2: Identify the database and query
Set MyDatabase = DBEngine.OpenDatabase _
("C:\Users\SESA273168\Hasznos Holmi\_CONTROLLING\DATABASE\ORDER\PW.accdb")
Set MyQueryDef = MyDatabase.QueryDefs("AD-HOC")
'Step 3: Define the Parameters
With MyQueryDef
.Parameters("[Enter Customer]") = Range("J22").Value
.Parameters("[Enter Year]") = Range("J23").Value
End With
'Step 4: Open the query
Set MyRecordset = MyQueryDef.OpenRecordset
'Step 5: Clear previous contents
Sheets("data").Select
ActiveSheet.Range("A1:E1000000").ClearContents
'Step 6: Copy the recordset to Excel
ActiveSheet.Range("A1").CopyFromRecordset MyRecordset
'Step 7: Add column heading names to the spreadsheet
For i = 1 To MyRecordset.Fields.Count
ActiveSheet.Cells(1, i).Value = MyRecordset.Fields(i - 1).Name
Next i
Access query: