Access per URL starten

Ein interessanter Anwendungsfall ist das Starten einer Access-Anwendung über den Aufruf einer URL etwa im Browser – zum Beispiel von einer Internetanwendung aus, die einen speziell vorbereiteten Link enthält. Die Betätigung dieses Links soll dann Access starten, die gewünschte Datenbank öffnen und gegebenenfalls sogar noch einen oder mehrere Parameter an die Anwendung übergeben. Wie das gelingt, schauen wir uns im vorliegenden Beitrag an.

Im konkreten Fall schickte uns ein Leser die Anforderung, bei der eine Internetanwendung eine Möglichkeit bietet, über eine Schaltfläche beziehungsweise einen Link eine eigene URL anzugeben, die bei Betätigung geöffnet wird.

Lässt sich dies realisieren, und wenn ja, wie Die Lösung ist nicht besonders nahe liegend, denn wir können die Anwendung ja nicht über einen herkömmlichen Batch-Befehl starten, wie es etwa über eine Dateiverknüpfung erfolgt.

Der Trick ist, dass wir einen eigenen Datei-Handler definieren, wie er normalerweise in die URL-Leiste des Browsers eingegeben wird, also beispielsweise http: oder ftp:. Dem lassen wir dann die Daten folgen, die als Parameter an die aufzurufende Access-Datenbank übergeben werden sollen. Aber wie definieren, dass etwa bei übergabe des Handlers accessdb: auch wirklichen eine Access-Datenbank geöffnet wird, und welche dies ist Dies legen wir in der Registry fest, und zwar etwa wie in Bild 1. Wir fügen also dem Zweig HKEY_CLASSES_ROOT ein neues Element namens accessdb hinzu. Dafür legen wir als Standardwert URL:accessdb Protocol fest und ein weiteres Element namens URL Protocol, das aber leer bleibt. Darunter folgen drei weitere verschachtelte Elemente, nämlich shell, open und command. Letzteres erhält die auszuführende Batch-Anweisung, in diesem Fall den Aufruf der Anwendung MSACCESS.EXE und die Angabe der zu öffnenden Datenbankdatei mit Pfad. Danach folgt noch der Ausdruck /cmd %1, den wir später erläutern:

Einstellungen in der Registry

Bild 1: Einstellungen in der Registry

"C:\\\\Program Files (x86)\\\\Microsoft Office\\\\root\\\\Office16\\\\MSACCESS.EXE" 
"C:\\\\Users\\\\User\\\\Dropbox\\\\Daten\\\\URLTest.accdb" /cmd %1

Um diese Einträge automatisch per Doppelklick auf eine Datei namens accessdb.reg zur Registry hinzuzufügen, füllen Sie diese Datei mit dem Code aus Listing 1.

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\\accessdb]
@="URL:accessdb Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\\accessdb\\shell]
[HKEY_CLASSES_ROOT\\accessdb\\shell\\open]
[HKEY_CLASSES_ROOT\\accessdb\\shell\\open\\command]
@="\\"C:Program Files (x86)Microsoft OfficerootOffice16MSACCESS.EXE\\" 
\\"C:UsersUserDropboxDatenURLTest.accdb\\" /cmd %1"

Listing 1: Inhalt der Datei accessdb.reg zum Anlegen der benötigten Registrierungswerte

Wenn Sie nun im Browser die Adresse accessdb: gefolgt von einem beliebigen Ausdruck eingeben (oder auch nur accessdb:), wird die Access-Datenbank geöffnet und in Access angezeigt. Beim ersten Aufruf kann es vorkommen, dass die Meldung aus Bild 2 erscheint und Sie diese zunächst noch bestätigen müssen. Wenn Sie hier die Option Auswahl für accessdb-Links speichern aktivieren, erscheint diese Meldung anschließend nicht mehr.

Warnmeldung beim Ausführen von Access via Browser

Bild 2: Warnmeldung beim Ausführen von Access via Browser

Dies funktionert wie beschrieben mit Firefox. Unter Microsoft Edge muss die Meldung jedes Mal erneut bestätigt werden, Chrome will Access gar nicht öffnen. Der Internet Explorer bietet auch die Möglichkeit, die Einstellung zu speichern. Wer die Registry bearbeitet, um vom Browser aus eine Access-Datenbank zu starten, wird sich aber vermutlich auch mit der Auswahl eines der funktionierenden Browser anfreunden können.

Parameter übergeben

Nun kommen wir zum interessanten Teil, denn wir wollen ja nicht nur einfach irgendeine Access-Datenbank öffnen, sondern gegebenenfalls auch noch Parameter übergeben.

Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

Workplace

Jahresabonnement TestzugangOder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar