Unsere Webseiten benötigen JavaScript. Dies scheint in Ihrem Browser jedoch deaktiviert zu sein.

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

Auswahl einer Grafik aus per Kombinationsfeld

Access 365 2024 2021 2019 2016 2013 2010

FRAGE In meiner Tabelle gibt es die Felder "Typ" und "Foto", im Feld "Typ" steht beispielsweise "PKW", "LKW", "Motorrad" usw. und im Feld "Foto" der jeweilige Pfad und Dateiname des betreffenden Bildes wie zum Beispiel "D:\Bilder\PKW.jpg" oder "D:\Bilder\Motorad.jpg". In einem Formular befindet sich neben dem Kombinationsfeld ein Bildsteuerelement. Hier soll nach Auswahl das passende Bild aus "D:\Bilder" angezeigt werden. Wie gehe ich dazu am besten vor?

L. Bergmann

ANTWORT Dazu nutzen Sie die Ereignisprozeduren "Beim Anzeigen" des Formulars und "Nach Aktualisierung" des Kombinationsfeldes. Dort müssen jeweils folgende Anweisungen ausgeführt werden, wobei davon ausgegangen wird, dass das Bildsteuerelement den Namen "bldFoto" hat:

Dim strPicName As String

On Error Resume Next
DoCmd.Hourglass True

If Not IsNull(Me.[Foto]) Then
  strPicName = Me.[Foto]
  If Dir$(strPicName) <> "" Then
    Me.[bldFoto].Picture = strPicName
  Else
    DoCmd.Hourglass False
    Me.[bldFoto].Picture = ""
    DoEvents
    Beep
    MsgBox "Bilddatei nicht gefunden!"
  End If
Else
  Me.[bldFoto].Picture = ""
End If

DoCmd.Hourglass False

Da das Laden einer Grafik je nach Größe und Format einige Augenblicke dauern kann, wird zunächst der Mauszeiger auf die Sanduhr eingestellt. Die folgenden Anweisungen prüfen, ob ein Pfad/Dateiname im Feld "Foto" vorhanden ist. Trifft das zu, prüft eine weitere Anweisung das Vorhandensein des Bildes auf der Festplatte. Ist es vorhanden, wird es im Bild-Steuerelement angezeigt. In allen anderen Fällen informiert eine Meldung über das fehlende Bild bzw. der Inhalt des Bild-Steuerelementes wird gelöscht.