Hallo,
Ik zit met een hardnekkig probleem. Ik wil vanuit een tabel de huidige record van een formulier/tabel exporteren naar Excel. Een tabel exporteren dmv. VBA lukt mij wel maar uitgebreid met een filter geeft hardnekkige problemen.
Ik gebruik een VBA code die jaren geleden op Helpmij (oa. Octafish, 30-9-2009) is geplaatst. Daarin wordt een tijdelijke Query TEMP gebruikt. Volgens mij werkt het filter goed, de ID wordt correct genummerd. Moet ik Temp nog declareren? Is Temp een query of een excel bestand (zie kill instructie (xlsx))? Bij de uitvoering kan access het object Temp niet vinden. Ik zie dat ik gebruik moet maken van DAO. Als ik de DAO library wil instellen, dan wordt een foutmelding gegeven: "De opgegeven naam is strijdig met een bestaand object, een bestaande module of een bestaande objectbibliotheek". Dus ik kan dit niet instellen. Heeft iemand een tip, alvast dank.
Ik zit met een hardnekkig probleem. Ik wil vanuit een tabel de huidige record van een formulier/tabel exporteren naar Excel. Een tabel exporteren dmv. VBA lukt mij wel maar uitgebreid met een filter geeft hardnekkige problemen.
Ik gebruik een VBA code die jaren geleden op Helpmij (oa. Octafish, 30-9-2009) is geplaatst. Daarin wordt een tijdelijke Query TEMP gebruikt. Volgens mij werkt het filter goed, de ID wordt correct genummerd. Moet ik Temp nog declareren? Is Temp een query of een excel bestand (zie kill instructie (xlsx))? Bij de uitvoering kan access het object Temp niet vinden. Ik zie dat ik gebruik moet maken van DAO. Als ik de DAO library wil instellen, dan wordt een foutmelding gegeven: "De opgegeven naam is strijdig met een bestaand object, een bestaande module of een bestaande objectbibliotheek". Dus ik kan dit niet instellen. Heeft iemand een tip, alvast dank.
PHP:
Private Sub Knop288_Click()
Dim db As Database
Dim xlWorksheetPath As String
Dim has_header As Boolean
Dim cn As ADODB.Connection
Dim strSQL As String
Dim pad As String
Set db = CurrentDb()
Set cn = New ADODB.Connection
pad = CurrentProject.Path
If Right(pad, 1) <> "\" Then pad = pad & "\"
xlWorksheetPath = "D:\vba test database 5.0\"
xlWorksheetPath = xlWorksheetPath & "test vba testdatabase_5.0.xlsx"
'Instantiate Excel objects:
Workbooks.Open (xlWorksheetPath)
'Export headers with data:
has_header = True
' Selecteer alles (*) naar tabel Temp
' vanuit tabel Voorkamer
' waar geldt: ID is gelijk aan ID huidige record
strSQL = "SELECT * INTO Temp"
strSQL = strSQL & "FROM [materialen] "
strSQL = strSQL & "WHERE([vk_Pand_ID] = " & Me.PandID & ");"
On Error Resume Next
Kill pad & "\Test.xls"
DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
On Error GoTo 0
'Transport tabel naar Excel werkblad en sluit Excel
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "Temp", xlWorksheetPath
ActiveWorkbook.Close True
MsgBox "Alle gegevens zijn naar Excel getransporteerd. Open het Excel-bestand."
End Sub