Access erkennt Hyperlink-Felder und behandelt diese entsprechend: Ein Doppelklick auf ein Hyperlink-Feld öffnet automatisch den Browser und ruft die angegebene URL auf.
SQL Server bietet keinen solchen Datentyp, was durchaus ein Problem darstellt, wenn man von einer Access-Datenbank aufrüstet, welche Hyperlinks enthält. Aber selbst wenn man keine Access-Datenbank ausbauen will, kann man seine URLs in einer SQL-Datenbank speichern wollen. Die Frage ist also: Wie geht man mit Hyperlinks um, so dass sie dieselbe Funktionalität bieten?
Die benötigte Funktionalität findet sich in der Windows-Library shell32.dll. Um diese Funktion aufzurufen, muss man eine Funktionsdeklaration dafür schreiben, so dass Access (oder eine andere Anwendung, welche VBA benutzt) weiß, wo die Funktion zu finden ist. Hierzu kopiert man den folgenden Code in ein Modul:
Damit steht einem eine Funktion namens ShellExecute() zur Verfügung, die man bei Bedarf aufrufen kann. Um den Aufruf zu vereinfachen, kann man eine Wrapper-Funktion namens Connect() verwenden:
Von einer VBA-Anwendung aus sollte man die URL von SQL Server an die Funktion Connect() übergeben. Falls man zum Beispiel ein Access-Formular hat, welches die URL-Werte aus der SQL-Datenbank anzeigt, ruft man die Funktion über das Ereignis OnDblClick des Steuerelements auf. Hierzu öffnet man das Formular im Entwurfsmodus, ruft per Doppelklick auf das Steuerelement dessen Eigenschaften auf, wählt die Registerkarte Events (Ereignisse) und das Ereignis OnDblClick. Hier gibt man den folgenden Text ein (vorausgesetzt, dass die entsprechende Spalte URL lautet):
=Connect( Me.URL )
Dieser Tipp ist vor allem für Access-Entwickler interessant, die eine Anwendung auf SQL Server portieren wollen. Man kann denselben Code allerdings auch mit anderen VBA-fähigen Anwendungen nutzen.
Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…
Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…
Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.
Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…
Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…
Security-Experten von Check Point sind einer neuen Angriffsart auf die Spur gekommen, die E-Mail-Schutzmaßnahmen umgehen…