Witam.
Jaki jest najlepszy sposób na eksport tabel i kwerend z Accessa do Excela za pomocą VBA?
Ważne, żeby program sprawdzał, czy Excel już jest otwarty i żeby nie próbował go otworzyć drugi raz.
Pozdrawiam.
Michał.
Witam.
Jaki jest najlepszy sposób na eksport tabel i kwerend z Accessa do Excela za pomocą VBA?
Ważne, żeby program sprawdzał, czy Excel już jest otwarty i żeby nie próbował go otworzyć drugi raz.
Pozdrawiam.
Michał.
Możliwości pewnie będzie kilka. Ja do eksportu kwerendy do Excela używam metody OutputTo obiektu DoCmd. Przykładowy kod poniżej:
DoCmd.OutputTo acOutputQuery, "NazwaKwereny", acFormatXLSX, , True
Jeżeli chcesz wysłać dane z tabeli do Excela, no to sprawa ma się trochę inaczej. Przejrzyj sobie przykład (wraz z załącznikiem) jaki zamieściłem w linku poniżej:
https://quorum.akademiq.pl/discussion/7363/problem-z-wyslaniem-danych-z-accessa-do-excela
Jeżeli później chcesz sobie te dane "poprzestawiać" to przeczytaj uważnie odpowiedzi do pytania:
Jeżeli chcesz sprawdzić, czy Excel jest już otwarty, to w przypadku jeżeli robisz to z poziomu VBA Excela, to proponuję taki kod:
Application.Workbooks.Count,
Jeżeli robisz to z poziomu VBA Accessa to.... hmm musiałbym poszukać rozwiązania.
UWAGA: jeżeli będziesz to robił z poziomu VBA Accessa, to koniecznie musisz mieć zainstalowane biblioteki odwołujące się do Excela.
Zrobiłem coś takiego:
DoCmd.TransferSpreadsheet acExport, 10, "NAZWA_KWERENDY", CurrentProject.Path & "\NAZAWA_PLIKU.xlsx", True i działa. :)