Przejdź do treści

Migracja bazy Access do aplikacji webowej: dane, formularze i raporty

Baza w Accessie powstała dawno, leży na jednym komputerze albo dysku sieciowym i dobrze zna ją jedna osoba. Dopóki pracuje na niej kilka osób w biurze, jakoś daje radę. Kłopoty zaczynają się przy pracy zdalnej i większym zespole.

Autor: Szymon Łakomy. Aktualizacja:

Kiedy Access przestaje wystarczać

  • kilka osób edytuje bazę naraz i pojawiają się blokady rekordów albo komunikaty o konflikcie zapisu,
  • plik na dysku sieciowym się uszkadza i trzeba go naprawiać albo odtwarzać z kopii,
  • pracownicy z domu lub z terenu łączą się przez VPN, a baza działa przez niego bardzo wolno,
  • nowy komputer ma inną wersję Office i część formularzy przestaje działać,
  • logikę w makrach i VBA rozumie jedna osoba, której odejście zatrzymałoby dział.

Jeśli dane trzymacie w arkuszach, a nie w Accessie, ten sam problem omawiam w tekście z Excela do aplikacji webowej.

Co przenoszę z pliku Access i jak

Element w AccessieW aplikacji webowejUwagi
Tabele i relacjetabele w bazie na serwerze z kluczami i ograniczeniamiprzy okazji poprawiam typy pól, na przykład daty zapisane jako tekst
Kwerendyfiltry, widoki i zestawienia liczone na serwerzekwerendy o nazwach typu Kwerenda1 opisuję razem z osobami, które ich używają
Formularzeekrany w przeglądarce z kontrolą poprawności pólukład zbliżony do starego, żeby zespół szybko się odnalazł
Raportywydruki i PDF generowane przez aplikacjęodtwarzam te, które firma faktycznie drukuje lub wysyła
Makra i VBAlogika w kodzie aplikacji, objęta testamikażde makro najpierw spisuję, bo część okazuje się nieużywana

Backend piszę w Pythonie, w Django. Dlaczego ten framework dobrze znosi aplikacje z wieloma tabelami i formularzami, wyjaśniam na stronie aplikacje w Django. Pojedyncze makra, które mają zostać w Excelu, to osobny temat: makra VBA na zlecenie.

Etapy migracji bez zatrzymywania pracy

  1. Spis zawartości bazy: tabele, relacje, kwerendy, formularze, makra i to, kto czego używa. Nieużywane obiekty trafiają do archiwum.
  2. Próbny import danych i porównanie liczby rekordów oraz sum kontrolnych ze starym plikiem.
  3. Pierwszy moduł w aplikacji, na przykład kartoteka klientów i zlecenia. Reszta działa jeszcze w Accessie.
  4. Kolejne moduły i raporty, za każdym razem z ponownym importem świeżych danych.
  5. Dzień przełączenia: ostatni import, a plik Access zostaje jako archiwum tylko do odczytu.

Dane po latach pracy w Accessie

Stare bazy mają powtarzalne usterki: tego samego klienta wpisanego na trzy sposoby, puste pola, które powinny być obowiązkowe, kody ukryte w polu uwag, rekordy osierocone po usunięciu klienta. Przed importem pokazuję listę takich przypadków i ustalamy, co poprawiam automatycznie, a co przegląda ktoś z zespołu. Reguły czyszczenia zapisuję w skrypcie importu, więc przy każdym próbnym przebiegu działają tak samo.

Budżet i to, co go podnosi

Baza z kilkoma tabelami, formularzami i raportami dla jednego działu to zakres modułu od około 8000 zł netto. Gdy Access obsługiwał kilka działów, magazyn i rozliczenia, nowa aplikacja jest raczej lekkim ERP, od około 15 000 zł netto. Najwięcej pracy zwykle dokładają makra i nietypowe raporty, a nie same dane. Szerzej o wymianie starych programów piszę w tekście modernizacja starego systemu firmowego, a o terminach na stronie ile trwa tworzenie aplikacji dla firmy.

Najczęstsze pytania

Czy mogę zostawić Access jako interfejs, a przenieść tylko dane?

Da się podłączyć Access do bazy na serwerze i bywa to dobry krok przejściowy. Nie rozwiązuje jednak pracy zdalnej bez VPN ani zależności od wersji Office na każdym komputerze.

Co z danymi historycznymi z wielu lat?

Przenoszę je w całości. Przy dużych ilościach najstarsze rekordy mogą trafić do archiwum tylko do odczytu w tej samej aplikacji, a wyszukiwanie po nich nadal działa.

Czy aplikacja zadziała na telefonie?

Działa w przeglądarce, więc także na telefonie i tablecie. Najczęstsze czynności projektuję tak, żeby dało się je wykonać na małym ekranie, a rozbudowane formularze zostają na komputer.

Czy po migracji dostanę kod i bazę?

Tak. Kod jest w repozytorium firmy, baza na serwerze, do którego masz dostęp, a struktura tabel jest opisana. Nie zależysz od jednej osoby tak, jak przy starym pliku.

Powiązane strony

Firma stoi na jednym pliku Access?

Napisz, ile osób z niego korzysta i co w nim jest: tabele, formularze, makra. Zaproponuję kolejność przenoszenia.