Öffnen Sie eine Access-Datenbank mit deaktivierter Skripterstellung (Makros und VBA).

2664
Hugh Allen

Angenommen, Sie möchten den Inhalt einer nicht vertrauenswürdigen Access-Datenbank untersuchen.

Es scheint eine Möglichkeit zu geben, es in Access zu öffnen, wenn Makros und VBA deaktiviert sind.

Bei der Suche im Internet habe ich mehrere Optionen gefunden, die nicht ganz richtig sind:

  • Halten Sie die Umschalttaste gedrückt, um ein Autoexec-Makro oder ein Startformular zu unterdrücken. Nicht gut, weil (unglaublich) es umgangen werden kann .
  • Setzen Sie die Makrosicherheitsstufe auf Mittel. Die einzigen Optionen, die Sie erhalten, sind Abbrechen und Öffnen. Es gibt kein "Öffnen mit deaktiviertem Scripting".
  • "Sandbox-Modus", dh "Blockieren unsicherer Ausdrücke". Nein, die meisten Skripte laufen noch.
  • KB-Artikel Zum Deaktivieren von Visual Basic für Applikationen bei der Bereitstellung von Office 2003 oder Office XP gibt es fünf Optionen, die lediglich zwei Methoden unterscheiden:
    • VBA deinstallieren (oder nicht installieren). Zu drastisch. Ich möchte immer noch den Code untersuchen, den ich ausführen möchte oder nicht.
    • Legen Sie einen "VBAOff" -Registrierungswert fest, entweder durch die Richtlinie oder regedit. Dies funktioniert für alle Office-Anwendungen außer Access!

Hat jemand noch andere Ideen? Ich verwende Access 2003.

0
Wenn Sie dem wirklich nicht vertrauen, wie wäre es, wenn Sie es in einer virtuellen Maschine öffnen und einfach einen Snapshot zurücksetzen, wenn etwas kaputt geht? cularis vor 12 Jahren 0
@cularis: Eine VM funktioniert, ist aber etwas umständlich. Es scheint, dass es einen Weg geben sollte, um das zu tun, was ich frage. Hugh Allen vor 12 Jahren 0
Was möchten Sie untersuchen? Wenn es sich nur um Datentabellen handelt, erstellen Sie eine neue leere Datenbank und verknüpfen Sie sie dann mit den Tabellen in der anderen Datenbank. Dies wird absolut sicher sein. Wenn Sie sich den Code ansehen müssen, ist das ein anderes Problem. Wovor genau hast du Angst? David W. Fenton vor 12 Jahren 0
Ist Ihnen bekannt, dass Sie den DisableBypassKey wieder aktivieren können, ohne die Datenbank in der Access-Benutzeroberfläche zu öffnen? David W. Fenton vor 12 Jahren 0
@ David W. Fenton: (Sie meinen AllowBypassKey) Das ist eine gute Idee, an die ich nicht gedacht hatte. Es erfordert jedoch immer noch Mühe :( Hugh Allen vor 12 Jahren 0
Wieder, wovor hast du Angst? David W. Fenton vor 12 Jahren 0

1 Antwort auf die Frage

0
Eliptical View

Sie können von einer Instanz von Access zu einer anderen eine Verknüpfung zu den Tabellen herstellen. Auf diese Weise können Sie Ihre Anzeigeumgebung steuern und somit sicherstellen, dass nur die Formulare und Makros ausgeführt werden, die Sie ausführen möchten.

Erstellen Sie beispielsweise eine neue leere Datenbank. Nennen Sie es so etwas wie DB1.mdb. Dann wählen Sie Tabellen | Neu | Verknüpfen Sie .. und zeigen Sie dann auf die Datenbank und die Tabelle, die Sie sicher anzeigen möchten. Wiederholen Sie dies für jede Tabelle, auf die Sie zugreifen möchten. Nachdem Sie die Tabellenverknüpfungen erstellt haben, können Sie Abfragen, Formulare und Berichte für diese Tabellen erstellen, ohne dass das Risiko besteht, dass unerwünschte Makros ausgeführt werden.

Sie können Abfragen, Formulare, Berichte und visuelle Grundlagen und Makros aus DB1.mdb per Drag & Drop in DB2.mdb ziehen und dort ablegen. Bevor Sie sie ausführen, können Sie sie überprüfen, um sicherzustellen, was sie tun oder nicht tun werden. Sie könnten sie zum Beispiel öffnen und alle Makros löschen, als ob Sie aus irgendeinem Grund wirklich skeptisch darüber wären, was dort war. -- Prost