Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Bild im Formular mit Verknüpfung

Begonnen von DocP, Mai 11, 2014, 16:42:21

⏪ vorheriges - nächstes ⏩

DocP

Ich bitte um Hilfe

> Access 2010

Ich habe:
Bilder nicht in Access gespeichert,
ein Tabellenfeld "Pfad"
im Formular ein Feld "Pfad"

Ein Gebundenes Objektfeld "Bild"
     Steuerelementinhalt: Pfad
     zugelassene OLE-Objektart: verknüpft

Da ich die Bilder unter der ID-Nummer der Personen (ASP_ID)
speichere, veranstalte ich folgendes im Formular:

Private Sub Form_Current()
On Error GoTo MyError
    'Feld "Pfad" füllen falls leer:
        If Me!Pfad = "" Then
            Dim strPfad As String
            Dim strBild As String
            Dim strPfadPfad As String
            strPfad = "C:/Müller/Fotos/"
            strBild = Me!ASP_ID
            Me!Pfad = strPfad & strBild & ".jpg"
        End If
MyExit:
    Exit Sub
MyError:
    MsgBox Err.Description
    Resume MyExit
End Sub

Die Pfade werden richtig geschrieben aber die Bilder werden
einfach nicht angezeigt.

Was mach ich falsch ?
Gruß
Peter

Hondo

Hallo,
wenn du nur den Pfad zum Bild gespeichert hast, benötigst du ein Bildfeld und kein Objektfeld.
Füge also ein beliebiges Bild ein (Bild1), und entferne das Bild in den Eigenschaften für das Bild.
Dann kannst du im Ereignis Beim Anzeigen schreiben: Me.Bild1.Picture = Me.BildDatenfeld

In deinem Fall sieht das dann so aus:
Private Sub Form_Current()
    Me.Bild1.Picture = "C:/Müller/Fotos/" & Me!ASP_ID
End Sub


Gruß Andreas

DF6GL

Hallo,

zum Einen verwendetest Du ein gebundenes Objektfeld, sollte aber ein Bild-Steuerelement ("Bild1") sein.
zum Anderen nützt es nichts, einem (gebundenen?) Textfeld den PfadDateiNamen zuzuweisen.

Sub Form_Current()
Dim strPfad As String
If not Isnull (Me!ASP_ID) Then
strPfad = "C:/Müller/Fotos/" & Me!ASP_ID & ".jpg"

If Dir (strPfad) <> vbNullString) Then
  Me!Bild1.Picture=strPfad
End If

End if

End If
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

DocP

Ok, danke Franz, jetzt funzt es.

Die Bilder werden angezeigt, aber bei Datensätzen bei denen keine Bilder vorhanden sind, bleiben die vorher angezeigten Bilden bestehen.
Was mach ich da ?
Gruß
Peter

DocP

Jetzt hab' ich's.
Ich hab noch zwei Zeilen zugefügt schon geht's.

--------------------------------------------
Private Sub Form_Current()
On Error GoTo MyError
    Dim strPfad As String
    If Not IsNull(Me!ASP_ID) Then
        strPfad = "C:/Müller/Fotos/" & Me!ASP_ID & ".jpg"
            If Dir(strPfad) <> (vbNullString) Then
                Me!Bild.Picture = strPfad
                Me!Bild.Visible = True
            Else
            Me!Bild.Visible = False
            End If
    End If
MyExit:
    Exit Sub
MyError:
    MsgBox Err.Description
    Resume MyExit
End Sub
----------------------------------------------
Jetzt zeigt er die Bilder an und blendet das Bild aus, wenn kein Bild vorhanden ist.

Ich danke Euch. Ihr habt mich auf den richtigen Weg gebracht und aus der Patsche geholfen.

Gruß
Peter