Wykorzystanie scentralizowanego modułu VBA w wielu dostępowych bazach danych
Byłem odpowiedzialny za ponad 50 baz danych Access (.mdb i .accdb różnych wersji) rozeszły się po intranecie i muszę dodać kilka funkcji VBA (dokładnie ten sam kod) do prawie wszystkich. Mam nadzieję, że można to osiągnąć poprzez stworzenie odniesienia z każdej bazy danych do scentralizowanego modułu VBA, ponieważ naprawdę chciałbym możliwość wprowadzania zmian w dół drogi, które są automatycznie replikowane w każdej bazie danych. Byłoby to również bonus, jeśli jakiekolwiek dodatkowe odniesienia w centralnym db może być nienaruszone, więc nie musiałbym zarządzać nimi indywidualnie, jak również.
Jestem całkiem nowy w programowaniu VBA (chociaż od lat jestem ćpunem PHP) i mam trudności z wymyśleniem odpowiednich słów, aby wyszukać ten konkretny problem. Myślę (z tego, co czytałem do tej pory), że mogę potrzebować Visual Studio skompilować DLL do odniesienia, ale chciałbym zachować wszystko proste i zawarte w Access, jeśli to możliwe, zwłaszcza, że nie mamy VS prawo jazdy.
Dzięki, wszelkie wskazówki będą mile widziane!
3 answers
Nie martw się, to dość proste.
- Stwórz bazę danych "helper". Umieść tam kilka zabiegów.
- w bazach danych' Klienta ' otwórz edytor VBA
- Przejdź do Narzędzia- > Referencje. Przeglądaj i wybierz swoją bazę helperów. Zrobione! Możesz teraz korzystać ze wszystkich funkcji w bazie helperów w bazach klientów.
Więc... nie .pliki dll, o które należy się martwić. Visual Studio nie jest potrzebne.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-12 20:19:27
Szukanym terminem jest add-ins. (Ahh, widzę, że Google poprawiło doświadczenie wyszukiwania ze słowami z osadzonymi myślnikami od ostatniego razu, gdy próbowałem.) podejście wymienione przez PowerUser będzie działać, ale istnieje wiele problemów.
Będziesz chciał rozdzielić dodatek wraz z Twoim FE do użytkowników komputerów.
MDE / ACCDE nie może odwoływać się do MDB / ACCDB. Ale jeśli zmienisz add-in MDE / ACCDE musisz redystrybucja Fe MDE / ACCDE jako cóż. Chociaż nie udało Ci się wszelkie zmiany parametrów lub nazwy podprogramów / funkcji.
Podczas debugowania kodu w dodatek lub radzenie sobie z błędem wiadomość VBA otworzy dodatek VBA edytor kodu. Nie wprowadzaj zmian tam. Zostaną utracone, jak tylko zamykasz okno kodu dodatku.
Zobacz moją stronę Add-in Tips, Hints and Gotchas Po Więcej Szczegółów.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-12 21:29:13
Możesz też pójść o krok dalej. Napisałem artykuł na ten temat dla vb123.com:
Korzystanie z plików biblioteki baz danych w aplikacji Access
Możesz używać formularzy, raportów, zapytań, modułów, klas... Prawie wszystko poza subformami. A wszystko w zwykłym starym pliku mdb lub accdb (lub mde, o to chodzi).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-12 22:28:15