Bild dynamisch laden

Um einen Pfad zu ermitteln, zum Beispiel von einem Foto auf der Festplatte, brauchen wir ein Modul. Gehen Sie auf Module ==> Neu und kopieren Sie den Text von dem Modul: basWinDialoge (ganz unten den grünen Text)

Speichern Sie Ihn unter den Namen „basWinDialoge“ ab.

Um ein Bild in Ihrem Formular dynamisch zu laden, erstellen Sie in der Tabelle ein Textfeld mit 200 Stellen. Nennen wir es hier Foto. Hier wird der Pfad des Bildes hineingeschrieben, wo das Bild auf der Festplatte liegt.

Erstellen Sie eine Schaltfläche mit folgendem Ereignis: 

Dim strPicName As String
strPicName = ACL_DateiOeffnen(CurDir$, „Bild laden:“)
If strPicName = „“ Then Exit Sub
Me.[Foto] = strPicName
Me.[bldFoto].Picture = strPicName
DoEvents


Für die Anzeige im Formular kommt ein Steuerelement vom Type „Bild“ mit dem Namen „bldFoto“ zum Einsatz, das in der Lage ist, verschiedene Bildformate darzustellen.

Hier die Eigenschaften von „bldFoto“:

Beim Öffnen des Formulars ruft Access die Ereignisprozedur „Bei Laden“ auf.

Ereignisprozedur:

Private Sub Form_Load()
Me.bldFoto.Picture = „“
End Sub


Beim Wechsel der Datensätze ruft Access die Ereignisprozedur „Beim Anzeigen“ auf.

Ereignisprozedur:

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

Zunächst prüfen wir, ob überhaupt ein Bild zugeordnet ist: IsNull(Me.[Foto])

Wenn ja, erfolgt eine Zuweisung an die Variable „strPicName“ für den einfacheren Zugriff in den folgenden Anweisungen. Über die Konstruktion If Dir$(strPicName) <> „“ stellen wir fest, ob die Bilddatei vorhanden ist. Dir$() liefert als Ergebnis eine leere Zeichenkette, wenn die Datei nicht existiert. Ist die Datei jedoch vorhanden, erfolgt eine Zuweisungdes Pfades zur Eigenschaft „Picture“ des Steuerelementes und das Bild wird angezeigt. Wurde dem aktuellen Datensatz hingegen noch kein Foto zugeordnet, oder die ehemals zugeordnete Bilddatei ist nicht mehr vorhanden, so erfolgt eine leere Zeichenkette zur Eigenschaft „Picture“. Das Steuerelement zeigt dann nichts an. Andernfalls würde es noch das Bild des vorherigen Datensatze anzeigen.