W przypadku, kiedy przewidujemy możliwość równoczesnej pracy na programie większej ilości użytkowników niż 5 lub ilość danych przechowywanych w pliku Access może szybko rosnąć, zalecam użycie jako źródła danych serwera SQL, np. darmowego MS SQL Server Express lub często oferowanego przez dostawców hostingu MySQL. Główna aplikacja (front-end) nadal jest wówczas pisana w Access, jednak kwerendy i mechanizmy obsługi bazy danych zostaną w niej zoptymalizowane do pracy z bazą serwera SQL. Duża część elementów przetwarzania i kontroli danych jest programowana po stronie samej bazy SQL. Takie rozwiązanie znacznie podnosi bezpieczeństwo, łatwość tworzenia kopii bezpieczeństwa, możliwości skalowania projektu w przypadku większej niż pierwotnie zakładana ilości użytkowników i danych (można migrować na „wyższą” wersję serwera SQL), bez konieczności ingerencji w napisaną aplikację.Wielu klientów posiada często komercyjną wersję oprogramowania serwera SQL, z której można też wówczas skorzystać.
Drugą, niezmiernie istotną zaletą połączenia Accessa z bazą SQL, której nie sposób przecenić, a z której niejednokrotnie skorzystałem, jest możliwość pobierania danych z bazy SQL przez aplikacje kompilowane w .NET Framework, zarówno desktop jak też www. Na zamówienie klientów konwertowałem nawet pierwotne rozwiązanie Access do postaci aplikacji online w ASP.NET, gdzie wcześniej użytkowaną bazę SQL mogłem w dużej części wykorzystać.
Access w połączeniu z bazą SQL to zdecydowanie zalecane przeze mnie rozwiązanie w przypadku bardziej rozbudowanych, wielostanowiskowych systemów obsługi zamówień, kontroli produkcji, analiz sprzedaży, programów magazynowych, itp.
Zachęcam do zapoznania się z moimi przykładowymi projektami, w których było wykorzystane powyższe rozwiązanie.
(ENG version) Access VBA front-end application with SQL Server database