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.