Tabel vanuit Access Exporteren naar Excel

Status
Niet open voor verdere reacties.

VJJK

Gebruiker
Lid geworden
14 okt 2010
Berichten
47
Best Forum,

Ik zit met het volgende. Via VBA of een Macro wil ik een tabel exporteren naar een Excel bestand.

Dit Excel bestand laat ik dan weer verder oppikken door Excel maar dat terzijde.

via

Code:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "" & strCrt, "C:\file " & strCrt & ".xls", True

krijg ik een foutmelding dat ik een table name argument moet gebruiken. maar kom hier verder niet uit..

Kunnen jullie mij helpen?
 
Ik vind dit een beetje vreemde constructie: "" & strCrt. Ik neem aan dat strCrt je tabelnaam bevat? Waarom niet acSpreadsheetTypeExcel9, strCrt ?
 
Dag OctaFish,

ik ben inmiddels met dit op de proppen gekomen:

Code:
DoCmd.TransferSpreadsheet , acSpreadsheetTypeExcel9, "list to excel", "C:\Documents and Settings\KlinkeV\Desktop\Lege Acces\list to excel.xls", "yes"

maar nu krijg ik de foutmelding:

"An expression you entered is the wrong data type for one of the arguments"

Alleen waar dat dan zit is mij een raadsel
 
Ik denk in ieder geval in je laatste argument.
DoCmd.TransferSpreadsheet , acSpreadsheetTypeExcel9, "list to excel", "C:\Documents and Settings\KlinkeV\Desktop\Lege Acces\list to excel.xls", True
 
Dit zorgt er in ieder geval voor dat de melding verdwijnt.

Alleen zie ik niet in de excel sheet de geupdate data verschijnen.

Met deze vba code is het toch de bedoeling dat de excel wordt overschreven?
 
Maakt hij wel een bestand? Check dat eerst, door de andere te hernoemen bijvoorbeeld.
 
Laatst bewerkt:
The microsoft jet database geeft dan aan (als ik het bestand een andere naam gegeven heb) het bestand niet te kunnen vinden.
Ik was ervan uitgegaan dat door de database te exporteren, het bestand automatisch wordt geupdate. Dat is dus blijkbaar niet het geval..

Hoe kan ik ervoor zorgen dat acces de excel daadwerkelijk aanmaakt?
 
zit nu hiermee te hannessen. maar krijg telkens een foutmelding.

Code:
Public Function MaakExcelbestand()
On Error GoTo err_handler
strfilename = "C:\Documents and Settings\KlinkeV\Desktop\Lege Acces\" & "book4.xlsx"

Dim blnnewfile As Boolean
blnnewfile = False
'
Set appExcel = Excel.Application

If Dir(strfilename) <> "" Then
Set wbk = appExcel.Workbooks.Open(strfilename)
Else
Set wbk = appExcel.Workbooks.Add
' **** save the new workbook with the strfilename path/filename
wbk.SaveAs strfilename
blnnewfile = True
End If
Set wks = wbk.Worksheets("sheet1")
Call Set_Headings
Call get_IVHP_Totals
Call Get_subgroups
Call Get_Detail

Set wks = Nothing
wbk.Save
wbk.Close
Set wbk = Nothing
appExcel.Quit
Set appExcel = Nothing

End Sub
 
Er ontbreekt nog wat in je export commando.... als je de juiste parameters niet meegeeft, gaat Access uit van import. En importeren vanuit een niet-bestaand excelletje kan uiteraard niet. Je opdracht ziet er dus zo uit:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "list to excel", "H:\Test.xls", True
 
Code:
DoCmd.OutputTo acOutputTable, "list to excel", acFormatXLS, "C:\Documents and Settings\KlinkeV\Desktop\Lege Acces\list to excel.xls", True

Deze had ik ook nog gevonden.. maar inmiddels werkt het..

Thanx OctaFish
 
Er gaan meerdere wegen naar Rotterdam ;)
Het voordeel van TransferSpreadsheet is wel dat het niet uit maakt of je een tabel of een query exporteert. Dat moet je in de OutputTo dus wel specificeren. Maar het is fijn om een keuze te hebben :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan