News & Tipps zu Microsoft Access

Lesen Sie hier einige der besten Beiträge aus SmartTools Access Weekly sowie ausgewählte Inhalte anderer E-Mail-Newsletter von SmartTools Publishing rund um Microsoft Access.

Beitrag aus SmartTools Access Weekly

Word-Datei in Access abhängig von Feldinhalt öffnen

Access 365 2024 2021 2019 2016 2013 2010

FRAGE In einem Formular meiner Datenbank verwende ich ein Textfeld "WordNummer". Je nach Feldinhalt soll über eine Schaltfläche ein bestimmtes Word-Dokument in einem festgelegten Verzeichnis aufgerufen werden. Ist der Feldinhalt zum Beispiel "100", soll "DokumentA.doc" im Verzeichnis "C:\Word-Dokumente\Docs" aufgerufen werden. Ist der Feldinhalt "105", soll "DokumentB.docx" im Verzeichnis "C:\Word-Dokumente\Docx" aufgerufen werden. Wie löse ich das Problem am besten?

V. Grimm

ANTWORT Dazu nutzen Sie in der Ereignisprozedur "Beim Klicken" Ihrer Schaltfläche eine Abfrage der Nummer und einen Aufruf von Word zum Beispiel folgendermaßen:

Dim strWordDoc As String
Dim Nummer As Integer

Nummer = Nz(Me.WordNummer, 0)
Select Case Nummer
  Case 100
  strWordDoc = "C:\Word-Dokumente\Doc\DokumentA.doc"
  Case 105
  strWordDoc = "C:\Word-Dokumente\Docx\DokumentB.docx"
End If

If strWordDoc <> "" Then
  Shell Chr$(34) & "<Pfad>winword.exe" & Chr$(34) & " " & _
        Chr$(34) & strWordDoc & Chr$(34)
Else
  MsgBox "Keine Verknüpfung für Nummer " & Nummer & _
         "zu Word-Dokument vorhanden!
End if

"<Pfad>" ersetzen Sie durch den kompletten Pfad Ihrer Office-Installation, also beispielsweise durch "C:\Programme\Microsoft Office\Office16".

In einer "Select Case"-Konstruktion wird die jeweils erfasste Nummer ausgewertet und in "strWordDoc" Pfad und Dateiname der zu öffnenden Word-Datei spezifiziert. Hat die Variable "strWordDoc" nach dem "Select Case"-Block einen Inhalt, starten wir per "Shell" die Anwendung "winword.exe" und übergeben das zu öffnende Dokument als Parameter. Gibt es zu der Nummer keine Zuordnung zu einem Word-Dokument (strWordDoc = ""), wird ein Hinweis angezeigt.