Beitrag aus SmartTools Access Weekly
Grafik aus per VBA aufrufen und anzeigen
Access 365 2024 2021 2019 2016 2013 2010
FRAGE In einer Datenbank soll zu jedem Artikel ein Bild gespeichert werden. Dazu haben wir ein Feld "Artikelfoto" vorgesehen, in dem ein Pfad/Dateiname wie z.B. "F:\Bilder\Artikel_89243756892.jpg" festgehalten wird. Dieses Bild soll nun über eine Schaltfläche Anzeigen mit IrfanView als festem Viewer angezeigt werden. Wie müssen die Anweisungen dazu aussehen? Außerdem würden wir gerne die Auswahl des Bildes per Dialog vornehmen. Wie lässt sich das realisieren?
Diverse Anfragen
ANTWORT Zur ersten Frage: Rufen Sie dazu "Shell" beispielsweise wie folgt in der Ereignisprozedur "Beim Klicken" der Schaltfläche auf:
Shell "C:\Programme\IrfanView\iv.exe" & " " & _
Chr$(34) & Me.Artikelfoto & Chr$(34)
Pfad und der Dateiname der Anwendung sind entsprechend Ihrer IrfanView-Installation anzupassen. Wenn der Pfad/Dateiname der Anwendung Leerzeichen enthält, muss er ebenfalls wie folgt in "Chr$(34)" eingeschlossen werden:
Shell Chr$(34) & _
"C:\Program Files\Irfan View\iv.exe" & _
Chr$(34) & _
" " & _
Chr$(34) & Me.Artikelfoto & Chr$(34)
Zu Ihrer zweiten Frage: Legen Sie eine Schaltfläche Bild auswählen oder ähnlich an und kopieren Sie die folgenden Anweisungen in die Ereignisprozedur "Beim Klicken":
Private Sub btnChoosePicture_Click()
With FileDialog(msoFileDialogFilePicker)
.Filters.Add "Bilder", "*.jpg;*.gif;*.tif;*.png"
.Filters.Add "Alle Dateien", "*.*"
.FilterIndex = 0
.ButtonName = "Auswählen"
.Show
If .SelectedItems.Count > 0 Then
Me.Artikelfoto = .SelectedItems(1)
End If
End With 'FileDialog
End Sub
Wir nutzen hier das interne "FileDialog"-Objekt, um einen "Datei öffnen"-Dialog (msoFileDialogFilePicker) anzuzeigen. Mit "Filters.Add" bauen wir die Liste auf, die im Dialog unter Dateityp angezeigt werden soll. Nach Anzeige des Dialogs (Show) und der Auswahl einer Datei (.SelectedItems.Count > 0) wird der gewählte Pfad/Dateiname ins Feld "Artikelfoto" übertragen.