Beispiel für den automatischen Eintrag eines Hyperlinks in Access

No comment

Über den Umgang mit Hyperlink-Datentypen und -feldern hatte ich mich ja schon hier ausgelassen. Daher möchte ich an dieser Stelle ein kleines Beispiel für ein Formular einfügen, in welchem man mit dem Klick auf die entsprechende Textbox ,,Ordner“ den Hyperlink bequem erzeugt oder ändert.

Das Formular sieht beispielsweise so aus:

hyperlinktextfeld

Das Textfeld Ordner spricht den Hyperlink-Datentyp an.

Mit einem Klick auf das Textfeld Ordner, welches mit der Tabellenspalte des Hyperlink-Datentyps verbunden ist, soll dann folgende Routine ausgelöst werden.

Anlegeroutine beim Klicken auf das Hyperlink Textfeld

Anlegeroutine beim Klicken auf das Hyperlink Textfeld

 

Und hier kommt der entsprechend zu hinterlegende VBA Code:

Private Sub Ordner_Click()

'Definiere einen Ordner für Unternehmen und den allgemeinen Pfad für Ordner
Dim Ordnername As String
Dim Ordnerpfad As String
Dim Hyperlinkadresse As String
Dim Hyperlinkname As String

'Variablen für die Fragebox nach dem Ordner definieren
Dim Meldung As String
Dim Stil As Variant
Dim Titel As String
Dim Antwort As Variant

'Ordnername ist der Inhalt des Textfeldes "Unternehmen" oder die Bitte ein Unternehmen einzutragen
'Der Name des Hyperlinks ist der Gleiche wie der Unternehmensname
Me!Unternehmen.SetFocus
If Unternehmen.Text = "" Then

 Ordnername = "Unternehmensname"
 Hyperlinkname = "Unternehmensname"
 Unternehmen.Value = Ordnername
Else
 
 Ordnername = Unternehmen.Value
 Hyperlinkname = Unternehmen.Value
End If
Me!Ordner.SetFocus

'Standardpfad für Ordner
Ordnerpfad = "D:\deinPfad\deinOrdner"

'Der Hyperlink hat eine Adresse die aus Ordnerpfad und Ordnername zusammengesetzt ist
Hyperlinkadresse = Ordnerpfad & Ordnername

'Meldung definieren.
Meldung = "Neuen Ordner anlegen?"

'Schaltflächen definieren
Stil = vbYesNo + vbQuestion

'Titel definieren.
Titel = "Anlegen und/oder Auswahl eines Ordners"

 On Error GoTo ErrHandler

'Prüft das Hyperlinkfeld auf Inhalt, wenn nicht Dialog anzeigen

If Ordner.Text = "" Then

'Fragebox anzeigen aus der ein Anlegen oder Auswählen des Ordners hervorgehen soll
Antwort = MsgBox(Meldung, Stil, Titel)

   'Benutzer hat "Ja"  gewählt
    If Antwort = vbYes Then

        ' Ordner im Ordnerpfad anlegen, Hyperlink in der Textbox Ordner erstellen und Ordner öffnen
              
                     MkDir Hyperlinkadresse
                     
                     Ordner.Value = Hyperlinkname & "#" & Hyperlinkadresse
                     
                     Shell "explorer.exe " & Hyperlinkadresse, vbNormalFocus
              
        
    ' Benutzer hat "Nein" gewählt
    Else

        'Fokus setzen und Hyperlinkauswahlmenü
         Me!Ordner.SetFocus
         Application.RunCommand (acCmdInsertHyperlink)
        
     End If

 'Fehlerbehandlung

ErrHandler:
     On Error Resume Next
     
Else

 'Fokus setzen und Öffnen
  Me!Ordner.SetFocus
  
End If
 End Sub

Wenn alles vernünftig eingebaut ist, sollte beim Klicken auf das leere Textfeld folgendes erscheinen:

hyperlinkfrage