Zbadałem ten sam problem. Rozwiązanie opublikowane przez Gorda dało mi błąd interpretacji XML. Cosmichighway opublikowało to rozwiązanie: http://www.utteraccess.com/forum/index.php?showtopic=1981212.
To rozwiązanie działa w programie Access 2010 i Access 2013 i powinna także działać w programie Access 2007.
With CurrentProject.ImportExportSpecifications("nameOfSpecification")
debug.print .XML
.XML = Replace(.XML, varSavedPathName, varNewPathName)
debug.print .XML
End With
byłem generowania unikalną nazwę pliku za wywóz, więc powrócił do oryginalnej ścieżki filename gdy proces był kompletny . WorkHoursTransactions jest const. Przykład:
CONST ConstExportSavedPathName="c:\temp\Name Of File To Use.xls"
tmpFileName = WorkHoursTransactions & ";" & Format(Now(), "YYYYMMDD-HHMMSS") & ".xls"
With CurrentProject.ImportExportSpecifications(WorkHoursTransactions)
.XML = Replace(.XML, ConstExportSavedPathName, tmpFileName)
'Debug.Print .XML
End With
DoCmd.OpenReport WorkHoursTransactions, acViewReport, , , acWindowNormal
DoCmd.RunSavedImportExport WorkHoursTransactions
' return to original filename
With CurrentProject.ImportExportSpecifications(WorkHoursTransactions)
.XML = Replace(.XML, tmpFileName, ConstExportSavedPathName)
'Debug.Print .XML
End With
Natknąłem się na tę fajną wskazówkę, aby użyć bezpośredniego okna do wyświetlenia XML. Jeśli masz specyfikację eksportowej nazwie „Export-Tabela 1”, to można wkleić ten w najbliższym oknie, aby zobaczyć XML:
? CurrentProject.ImportExportSpecifications.Item("Export-Table1").XML
Thurough i pomocny jak zawsze Gord, dzięki! – pegicity
Wielkie dzięki Gord! – ArtiBucco
Oczywiście powinno to działać świetnie i daje dobre informacje podstawowe, ale znalazłem drugi sub() na http://stackoverflow.com/a/14443025/6099655, aby być bardziej prostym – CWilson