jak wyeksportować tabele z accesa do excel, żeby nazwa pliku zawierała dzisiejszą datę

0

Witam,
jak w temacie, mam tabelę, którą chcę codziennie archiwizować w postaci pliku excel. Użyłem do tego makra z accessa z komendą "EksportZFormatowaniem" ale tam można na sztywno zdefiniować nazwę pliku (przykład w załączniku). Jest jakiś sposób, żeby automatycznie nadawał nazwę z datą dzisiejszego dnia czyli jak w przypadku poniżej listing_95_20190603.xlsx
zapiasc_plik.png

1

Zapisz to makro jako kod VBA (bo chyba można). I zmodyfikuj. Albo podaj ten kod, to ktoś ci pomoże.

1

W pole docelowy plik wpisz:

="C:\usesrs\listing95_" & Format(Date(),"yyyyMMdd") & ".xlsx"
0
Panczo napisał(a):

W pole docelowy plik wpisz:

="C:\usesrs\listing95_" & Format(Date(),"yyyyMMdd") & ".xlsx"

Cześć, samą składnie znam z VBA excel, ale niestety wpisanie w polu plik docelowy nie pomogło.

0

Ale co nie pomogło, nie działa, dostajesz bład?
Zakładam że początek: C:\usesrs\ zmieniłeś na prawidłowa ścieżką do folderu zapisu

0
Marcin.Miga napisał(a):

Zapisz to makro jako kod VBA (bo chyba można). I zmodyfikuj. Albo podaj ten kod, to ktoś ci pomoże.

Nie wiedziałem, że można konwertować. Pomogło, ale nie wiem jak uruchomić ten kod.

Sub import_listing()

DoCmd.SetWarnings False
DoCmd.OpenQuery "95_listing", acViewNormal, acEdit
DoCmd.OutputTo acOutputTable, "95_listing_fin", "ExcelWorkbook(*.xlsx)", "C:\Users\Documents\listing\95_listing_" & Format(Date, "yyyymmdd") & ".xlsx", False, "C:\Users\Documents\listing\95_listing.accdb", , acExportQualityScreen
DoCmd.SetWarnings True
DoCmd.Quit acExit

End Sub

0

Panczo napisał(a):

Ale co nie pomogło, nie działa, dostajesz bład?
Zakładam że początek: C:\usesrs\ zmieniłeś na prawidłowa ścieżką do folderu zapisu

tak zmieniłem, zwraca komunikat
Akcja makra "EksportZFormatowaniem" ma nieprawidłową wartość argumentu "plik docelowy"

komunikat_access.png> #####

0

a mój bład w makrach argumenty funkcji rodzielamy ;:

="C:\Users\Documents\listing\95_listing_" & Format(Date(); "rrrrMMdd") & ".xlsx"
0
Panczo napisał(a):

a mój bład w makrach argumenty funkcji rodzielamy ;:

="C:\Users\Documents\listing\95_listing_" & Format(Date(); "rrrrMMdd") & ".xlsx"

Niestety nadal to samo. Działa kod

Function import_listing()

    DoCmd.SetWarnings False
    DoCmd.OpenQuery "95_listing", acViewNormal, acEdit
    DoCmd.OutputTo acOutputTable, "95_listing_fin", "ExcelWorkbook(*.xlsx)", "C:\Users\Documents\listing\95_listing_" & Format(Date, "yyyymmdd") & ".xlsx", False, "C:\Users\Documents\listing\95_listing.accdb", , acExportQualityScreen
    DoCmd.SetWarnings True
    DoCmd.Quit acExit

End Function

Ale nie wiem jak go uruchomić z autoexec`a. Pojedynczy "run" dział i daje dobry wynik

1

U mnie działa:

screenshot-20190604105849.png

Możesz uruchuomić kod vba z makro UruchomKod

Tylko zmienic definicje funkcji na publiczna:

Public Function import_listing()

https://docs.microsoft.com/en-us/office/client-developer/access/desktop-database-reference/runcode-macro-action

0
Panczo napisał(a):

U mnie działa:

screenshot-20190604105849.png

Możesz uruchuomić kod vba z makro UruchomKod

Tylko zmienic definicje funkcji na publiczna:

Public Function import_listing()

https://docs.microsoft.com/en-us/office/client-developer/access/desktop-database-reference/runcode-macro-action

Jak usunąłem odniesienie do pliku szablonu też ruszyło. Dziękuję już mam dwa działające rozwiązania.

Z kodem VBA też sobie poradziłem w autoexec`u podawałem nazwę modułu, a nie Funkcji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1