Załóżmy, że chcesz sprawdzić zawartość niezaufanej bazy danych Access.
Wygląda na to, że powinien istnieć sposób na otwarcie go w programie Access z wyłączonymi makrami i VBA.
Szukając w Internecie, znalazłem kilka opcji, które nie są do końca właściwe:
- Przytrzymaj klawisz Shift, aby wyłączyć dowolne makro Autoexec lub formularz startowy. Nie dobrze, bo (niewiarygodnie) można go ominąć .
- Ustaw poziom zabezpieczeń makr na Średni. Jedyne opcje, które daje, to Anuluj i Otwórz. Nie ma „otwartych za pomocą skryptów wyłączonych”.
- "Tryb piaskownicy" tj. „blokuj niebezpieczne wyrażenia”. Nie dobrze, większość skryptów nadal działa.
- Artykuł KB Jak wyłączyć Visual Basic for Applications podczas wdrażania pakietu Office 2003 lub Office XP daje 5 opcji, które są tylko odmianami dwóch metod:
- odinstaluj (lub nie instaluj) VBA. Zbyt drastyczne. Nadal chcę zbadać kod, który chciałbym uruchomić lub nie.
- Ustaw wartość rejestru „VBAOff”, równoważnie za pomocą dowolnej zasady lub
regedit
. Działa to dla wszystkich aplikacji pakietu Office z wyjątkiem Access!
Czy ktoś ma jakieś inne pomysły? Używam programu Access 2003.
security
microsoft-access
macros
vba
microsoft-access-2003
Hugh Allen
źródło
źródło
Odpowiedzi:
Możesz połączyć się z tabelami z jednej instancji Dostępu do innej. W ten sposób możesz kontrolować środowisko wyświetlania, a tym samym być pewnym, że będą uruchamiane tylko formularze i makra, które chcesz uruchomić.
Na przykład utwórz nową pustą bazę danych. Nazwij to jak DB1.mdb. Następnie wybierz tabele | Nowe | Link .., a następnie wskaż bazę danych i tabelę, którą chcesz bezpiecznie wyświetlić. Powtórz to dla każdej tabeli, do której chcesz uzyskać dostęp. Po utworzeniu linków do tabel możesz tworzyć zapytania, formularze i raporty na tych tabelach bez ryzyka uruchomienia jakichkolwiek niepożądanych makr.
Bardziej wydajnie, ale także z większą ilością możliwości technicznych z twojej strony, możesz także przeciągać i upuszczać zapytania, formularze, raporty i wizualne podstawowe i makra z DB1.mdb do DB2.mdb. Zanim je uruchomisz, możesz je sprawdzić, aby upewnić się, co zrobią lub czego nie zrobią. Na przykład, możesz je otworzyć i usunąć wszelkie makra, na przykład, jeśli naprawdę z jakiegoś powodu byłeś bardzo niedbały. -- Twoje zdrowie
źródło