Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Bilder in einem Listen-Formular
Gehe zu Seite 1, 2  Weiter
zurück: Formularfelder werden nicht aktualisiert. weiter: Verschiedene Eingabefelder Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Denianer
Access-Kenner (ohne VBA)


Verfasst am:
23. Okt 2008, 17:40
Rufname:
Wohnort: Denia - Alicante

Bilder in einem Listen-Formular - Bilder in einem Listen-Formular

Nach oben
       Version: Office 2003

Hallo Experten
Ich habe eine Datenbank für eine Bilder-Galerie. Zu jedem Datensatz habe ich ich nun das dazugehörende Bild im Formular. Dies habe ich dank diesem Forum schon mal hingebracht.
Es sind jpg.-Bilder, welche im gleich Ordner wie die Datenbank selbst sind.
Was noch nicht funktioniert ist folgendes:
Ich habe im Feld "bildpfad" die folgende Ereignisprozedur:
Code:
Private Sub bildpfad_AfterUpdate()
    On Error Resume Next
    Me![bildfeld].Picture = Me![bildpfad]
End Sub
Das Bild wird jedoch nicht aktualisiert. Erst wenn ich das Formular schliesse oder einen Datensatz zurückgehe, erscheint das neue Bild.

Mein eigentliches Problem aber ist ein anderes. Ich möchte nun aus der gleichen Tabelle ein Listen-Formular machen in welchem alle Datensätze aufgelistet werden und dabei ein kleines Bild. Dies damit der Galerist in einem Kontrollkästchen markieren kann, welche Bilder in einen Bericht (Ausstellungsliste) erscheinen sollen. Dazu habe ich im Feld "bildpfad" den gleich Code wie oben.

In meinem Listenformular wird nun aber bei jedem Datensatz das gleiche Bild angezeigt. D.h. wenn ich bei 1. Datensatz bin, zeigt er bei allen Datensätzen das Bild welches zum 1. Datensatz gehört und wenn ich beim 2. Datensatz bin zwigt er bei allen Datensätzen das 2. Bild usw. Dies obwohl im Feld "bildpfad" jeder Datensatz einen andern Pfad hat.

Ich hoffe ich habe ich einigermassen verständlich ausgedrückt.

Weiss jemand wie ich das ändern kann?
Vielen Dank schon mal.

Denianer

_________________
Wer nicht fragt lernt nichts
derArb
getting better


Verfasst am:
23. Okt 2008, 18:34
Rufname: derArb
Wohnort: Berlin


AW: Bilder in einem Listen-Formular - AW: Bilder in einem Listen-Formular

Nach oben
       Version: Office 2003

Hallo,
der code gehört in Bei Anzeigen des Formulars.

Das Anzeigen in einem Endlosformular geht so nicht.
Es gibt komplexe Lösungen dafür..den link weiss ich aber grad nicht
In einem Listenfeld überhaupt nicht.

mfg
derArb

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
Willi Wipp
Moderator


Verfasst am:
24. Okt 2008, 03:35
Rufname:
Wohnort: Raum Wiesbaden

Re: Bilder in einem Listen-Formular - Re: Bilder in einem Listen-Formular

Nach oben
       Version: Office 2003

Hi Denianer,

was die Aktualisierung durch AfterUpdate angeht, bist Du sicher das die Ereignisprozedur auch ausgefuehrt wird?
Also das die Prozedur auch wirklich mit dem entsprechenden Ereignis in der Entwurfsansicht verbunden ist?
Setze mal eine Haltepunkt rein und schau ob dort gestoppt wird.
Was das Endlosformular und die Bilder angeht, moegliche Ansaetze findest Du z.B. im Thema
Lösung Bilder im Endlosformular?!. Siehe auch den Link von Helge.
Ich wuerde aber das Bildsteuerelement in den Formularkopf oder -fuss packen
und dann beim DS-Wechsel ==> Beim Anzeigen (Current) jeweils austauschen.
Oder Du packst die Liste in ein Listenfeld oder Endlos-Unterformular und das Bild-Steuerelement im HFo daneben...
Im Bericht ist es dann kein Problem das Bild DD-abhaenggig anzuzeigen.

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Denianer
Access-Kenner (ohne VBA)


Verfasst am:
03. Nov 2008, 21:12
Rufname:
Wohnort: Denia - Alicante

AW: Bilder in einem Listen-Formular - AW: Bilder in einem Listen-Formular

Nach oben
       Version: Office 2003

Denianer am 24. Okt 2008 um 11:42 hat folgendes geschrieben:
Hallo Willi

Die Lösung mit dem Bild im Formularkopf finde ich für mich als sehr gut. Der Rest klappt auch. Vielen Dank für Eure Hilfe.

Denianer

Hallo Willi

Also ich habe noch ein kleines Problem wie erwähnt mit dem aktualisieren des Bildes, obwohl ich die Prozedur
Code:
Private Sub bildpfad_Exit(Cancel As Integer)
    On Error Resume Next
    Me![bildfeld].Picture = Me![bildpfad]
End Sub
nachAktualisierung gesetzt habe, erscheint das Bild nicht und der Cursor ist in keinem Feld. Wenn ich dann den Cursor in das Feld Bildpfad setzte und die Tabulatortaste drücke erscheint das Bild.
Ich habe folgenden Code aus diesem Forum.
Code:
Function OpenFile(PfadJa As Boolean) As String
    Dim fso As FileDialog
    Dim Pfad As String
    Dim auswahl As Variant
    Dim aDatei() As String
    Dim Datei As String
   
    Set fso = FileDialog(msoFileDialogFilePicker)              'Art des Dialog
    fso.Filters.Clear
    fso.Filters.Add "Bilder", "*.jpg,*.jpeg,*.bmp, *.gif", 1   'Filter setzten
    fso.Title = "Bilder suchen"                 'Titel des Dialogs
    fso.ButtonName = "Auswahl"                            'Button Beschriftung
    fso.InitialFileName = "D:\...\bilder\"                      'Standart Pfad
    fso.InitialView = msoFileDialogViewLargeIcons         'Art der Darstellung
    If fso.Show = -1 Then                       'Kontrolle das nicht Abbrechen
        For Each auswahl In fso.SelectedItems             'Auswahl durchlaufen
            Pfad = auswahl
        Next auswahl
        aDatei = Split(Pfad, "\")
        Datei = aDatei(UBound(aDatei))
        If PfadJa Then
            OpenFile = Pfad
          Else
            OpenFile = Datei
        End If
    End If
    Set fso = Nothing
End Function
Dieser Code öffnet mir den Explorer und geht auch ins richtige Verzeichnis. Wenn ich dann ein Bild gewählt habe. Geht er wieder zum Formular und der Pfad ist eingetragen. Nur das Bild zeigt er nicht an. Und wie gesagt habe ich auch keinen Cursor mehr. Ich bin in VBA nicht sehr bewandert, und finde deshalb den Fehler nicht. Vielleicht kann mir jemand helfen.

Gruss Denianer

_________________
Wer nicht fragt lernt nichts
Willi Wipp
Moderator


Verfasst am:
04. Nov 2008, 02:58
Rufname:
Wohnort: Raum Wiesbaden


Re: Bilder in einem Listen-Formular (II) - Re: Bilder in einem Listen-Formular (II)

Nach oben
       Version: Office 2003

Hi Denianer,
Willi Wipp - 24. Okt 2008, 02:35 hat folgendes geschrieben:
... und dann beim DS-Wechsel ==> Beim Anzeigen (Current) jeweils austauschen. ...
==> Im genannten Formular-Ereignis und im Steuerelement-Ereignis Nach Aktualisierung (AfterUpdate)!
Das Steuerelement-Ereignis Beim Verlassen (Exit) tritt ja auch nur ein, wenn das Steuerelement verlassen wird!
Was den Effekt nach OpenFile angeht, muesste man wissen wo und wie Du es genau einsetzt!

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Denianer
Access-Kenner (ohne VBA)


Verfasst am:
04. Nov 2008, 12:39
Rufname:
Wohnort: Denia - Alicante

AW: Bilder in einem Listen-Formular - AW: Bilder in einem Listen-Formular

Nach oben
       Version: Office 2003

Hi Willi

Also mit dem oben angegebenen Code klappt es so wie ich beschrieben habe. Mit dem Code im Steuerelement-Ereignis Nach Aktualisierung geht gar nichts. Da ja kein Cursor im Formular, in keinem Feld erscheint.

Den Effekt OpenFile rufe ich mit einer Schaltfläche beimKlicken auf.

Eigentlich könnte ich so wie es jetzt funktioniert leben, aber ich denke es gibt eine Lösung, die sauber funktioniert, dass wenn der Pfad gesetzt wurde, der Cursor zum nächsten Feld springt, und das Bild angezeigt wird.

MfG Denianer

_________________
Wer nicht fragt lernt nichts
Willi Wipp
Moderator


Verfasst am:
04. Nov 2008, 17:51
Rufname:
Wohnort: Raum Wiesbaden

Re: Bilder in einem Listen-Formular (III) - Re: Bilder in einem Listen-Formular (III)

Nach oben
       Version: Office 2003

Hi Denianer,

sorry aber da kann ich Dir wirklich nicht folgen Confused
Mal gibt es keinen Cursor im Formular, dann willst Du von Feld zu Feld springen...
Mit was und wie?

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Denianer
Access-Kenner (ohne VBA)


Verfasst am:
04. Nov 2008, 18:44
Rufname:
Wohnort: Denia - Alicante

AW: Bilder in einem Listen-Formular - AW: Bilder in einem Listen-Formular

Nach oben
       Version: Office 2003

Hallo Willi

Sorry, wenn ich mich vermutlich ungenau ausgedrückt habe.

Also das OpenFile-Modul wird duch eine Schaltfläche beimKlicken abgerufen. Dann kann ich das Bild auswählen und der Pfad wird im Feld "bildpfad" eingetragen. Nun habe ich aber in keinem Feld den Cursor. Die Taste Tabulator bringt keine Reaktion.
Wenn ich das Ereignis (obiger Code) im Steuerelement "bildpfad" bei AfterUpdate eintrage passiert auch nichts. Nun habe ich die Ereignisprozedur im gleichen Steuerelement beimVerlassen . Nun muss ich den Cursor in das Steuerelement setzten und dann den Tabulator betätigen. Dann wird das Bild angezeigt und der Cursor springt ins nächste Feld.

Ich denke aber, dass diese letzte Funktion, Cursor im Feld "bildpfad" und ins nächste Feld gehen, damit das Bild angezeigt wird, nicht ich machen muss, sondern, dass man es automatisieren kann.

Hoffe Du verstehst mich jetzt Smile
Gruss Denianer

_________________
Wer nicht fragt lernt nichts
derArb
getting better


Verfasst am:
04. Nov 2008, 20:40
Rufname: derArb
Wohnort: Berlin

AW: Bilder in einem Listen-Formular - AW: Bilder in einem Listen-Formular

Nach oben
       Version: Office 2003

Hallo,

Du könntest Dir die ID des aktuellen Datensatzes in einer ZwischenspeicherVariablen merken,
ein Requery auf das Formular setzen und dann zu diesem Datensatz zurückspringen, indem Du über FindFirst die ZwischenspeicherVariable als Suchparameter eingibst
Code:
Private Sub DeinButton_Click()
    Dim Zwischenspeicher As Long
   
    Zwischenspeicher = Me!ID_P
    'Hier Dein Funktionsaufruf
    '...
    'Application.Echo False
    Me.Requery
    Me.Recordset.FindFirst "ID_P =" & Zwischenspeicher
    'Application.Echo True
End Sub

mfg
derArb

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
Willi Wipp
Moderator


Verfasst am:
05. Nov 2008, 03:49
Rufname:
Wohnort: Raum Wiesbaden

Re: Bilder in einem Listen-Formular (IV) - Re: Bilder in einem Listen-Formular (IV)

Nach oben
       Version: Office 2003

Hi Denianer,

ah jetzt Wink
Es sollte ausreichen am Ende Deiner Prozedur Beim Klicken (Click) der Befehlsschaltflaeche, etwas in der Art aufzurufen
Code:
    ShowPicture
Das Gleiche im Formular-Ereighnis Beim Anzeigen (Current)
und eventuell im Steuerelement-Ereignis Nach Aktualisierung (AfterUpdate) fuer bildpfad zur Sicherheit.
Die Prozedur (Sub) ShowPicture koennte etwa so aussehen
Code:
Private Sub ShowPicture()
    If Dir(Me![bildpfad]) <> "" Then
        Me![bildfeld].Picture = Me![bildpfad]
        Me![bildfeld].Visible = True
      Else
        Me![bildfeld].Visible = False
    End If

' Alternative mit einem konstanten Dummy-Bild
'    Const cstrDummy As String = "C:\DeinPfad\DeinDummyBild"
'
'    If Dir(Me![bildpfad]) <> "" Then
'        Me![bildfeld].Picture = Me![bildpfad]
'      Else
'        If Dir(cstrDummy) <> "" Then                       'Ganz sicher gehen
'            Me![bildfeld].Picture = cstrDummy
'          Else
'            Me![bildfeld].Picture = ""
'        End If
'    End If

' bzw. relativem Pfad
'   Const cstrDummy As String = "\DeinRelativerPfad\DeinDummyBild"
'
'    If Dir(Me![bildpfad]) <> "" Then
'        Me![bildfeld].Picture = Me![bildpfad]
'      Else
'        If Dir(CurrentProject.Path & cstrDummy) <> "" Then 'Ganz sicher gehen
'            Me![bildfeld].Picture = CurrentProject.Path & cstrDummy
'          Else
'            Me![bildfeld].Picture = ""
'        End If
'    End If
End Sub

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Denianer
Access-Kenner (ohne VBA)


Verfasst am:
05. Nov 2008, 15:01
Rufname:
Wohnort: Denia - Alicante

AW: Bilder in einem Listen-Formular - AW: Bilder in einem Listen-Formular

Nach oben
       Version: Office 2003

Hallo Willi

Du bist ein Genie. Im Formular funktioniert alles. Ich habe nun folgenden Code auf der Schaltfläche beimKlicken
Code:
Private Sub durchsuchen_Click()
    Me!bildpfad = OpenFile(True)
    If Dir(Me![bildpfad]) <> "" Then
        Me![bildfeld].Picture = Me![bildpfad]
        Me![bildfeld].Visible = True
      Else
        Me![bildfeld].Visible = False
    End If
End Sub
und den Code
Code:
Private Sub Form_Current()
    On Error Resume Next
    Me![bildfeld].Picture = Me![bildpfad]
End Sub
im Formular beimAnzeigen. Im Feld "bildpfad" habe ich nichts mehr.
Nur leider macht mir nun der Bericht Probleme. Folgender Code ist im Bericht im Detailbereich beimFormatieren
Code:
Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
    Dim strBildpfad As String
   
    strBildpfad = Nz(Me!bildpfad, "")
    If strBildpfad <> "" Then
        If Dir(strBildpfad) = "" Then
            Me!bildfeld.Visible = False
          Else
            Me!bildfeld.Visible = True
            Me!bildfeld.Picture = strBildpfad
        End If
      Else
        Me!bildfeld.Visible = False
    End If
End Sub
Beim Debuggen zeigt er mir die 3. Zeile gelb strBildpfad = Nz(Me!bildpfad, "")

Wo liegt denn nun hier der Fehler. Wie gesagt, ich bin VBA-Laie.

Gruss
Denianer

_________________
Wer nicht fragt lernt nichts
Willi Wipp
Moderator


Verfasst am:
05. Nov 2008, 15:11
Rufname:
Wohnort: Raum Wiesbaden

Re: Bilder in einem Listen-Formular (V) - Re: Bilder in einem Listen-Formular (V)

Nach oben
       Version: Office 2003

Hi Denianer,

ich verstehe zwar nicht ganz warum Du jetzt im Formular wieder mit dem .... Code arbeitest?
Du wirst frueher oder spaeter merken das es so nicht funktioniert, aber sei es drum.
Wenn Access meckert, dann waere es doch nur fair, wenn Du uns den Text mitteilen wuerdest!

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Denianer
Access-Kenner (ohne VBA)


Verfasst am:
06. Nov 2008, 16:37
Rufname:
Wohnort: Denia - Alicante

AW: Bilder in einem Listen-Formular - AW: Bilder in einem Listen-Formular

Nach oben
       Version: Office 2003

Hi Willi

Tja, dann habe ich wohl diesmal Dich falsch verstanden. Ich alter Sack brauche manchmal etwas länger Confused
Zitat:
Es sollte ausreichen am Ende Deiner Prozedur Beim Klicken (Click) der Befehlsschaltflaeche, etwas in der Art aufzurufen
Oder meinstest Du ich soll den Code in ein Modul packen und dann mit dem Befehl ShowPicture aufrufen?

Also die Fehlermeldung wenn ich den Bericht aufrufe ist folgende: Dialog-Fenster
Zitat:
Laufzeitfehler: -2147352567 (80020009)
Sie haben einen Ausdruck eingegeben, der keinen Wert hat

Gruss Denianer

_________________
Wer nicht fragt lernt nichts
Willi Wipp
Moderator


Verfasst am:
06. Nov 2008, 18:16
Rufname:
Wohnort: Raum Wiesbaden

Re: Bilder in einem Listen-Formular (VI) - Re: Bilder in einem Listen-Formular (VI)

Nach oben
       Version: Office 2003

Hi Denianer,

ja ich meinte die Prozedur (Sub) ShowPicture sollte in dem entsprechenden Modul (Formular und Bericht) abgelegt werden.
Was den Bericht angeht, ist da auch wirklich bildpfad Teil der Datenherkunft (RecordSorce)?

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Denianer
Access-Kenner (ohne VBA)


Verfasst am:
07. Nov 2008, 13:44
Rufname:
Wohnort: Denia - Alicante


AW: Bilder in einem Listen-Formular - AW: Bilder in einem Listen-Formular

Nach oben
       Version: Office 2003

Hi Willi

Ja, ich habe alle Felder bildpfad und bildfeld sowohl in der Abfrage als auch im Bericht.
Hab aber immer noch die gleiche Fehlermeldung.

Formular und Listen-Formular funktionieren.

MfG
Denianer

_________________
Wer nicht fragt lernt nichts
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Access Anlage (Bilder) in Excel exportieren 1 kuhnikuehnast 233 18. Jun 2013, 16:16
kyron9000 Access Anlage (Bilder) in Excel exportieren
Keine neuen Beiträge Access Tabellen & Abfragen: 1000 bilder in Access importieren 28 Sodeli 1573 13. Jan 2012, 18:00
derArb 1000 bilder in Access importieren
Keine neuen Beiträge Access Tabellen & Abfragen: Bilder in eine andere Datenbank automatisch auslagern 5 polotb 714 14. Okt 2007, 12:54
jens05 Bilder in eine andere Datenbank automatisch auslagern
Keine neuen Beiträge Access Formulare: 2 verschiedene Bilder glcihzeitig im Formular anzeigen 1 M.Behnke 490 06. Sep 2007, 23:28
jens05 2 verschiedene Bilder glcihzeitig im Formular anzeigen
Keine neuen Beiträge Access Formulare: Bilder anhand Personalnummer in Formular einbinden 4 k-millo 909 04. Apr 2007, 14:18
k-millo Bilder anhand Personalnummer in Formular einbinden
Keine neuen Beiträge Access Formulare: 300dpi-Bilder in Formularen beibehalten und Bilder schneiden 0 cicek 501 26. März 2007, 08:49
cicek 300dpi-Bilder in Formularen beibehalten und Bilder schneiden
Keine neuen Beiträge Access Tabellen & Abfragen: Bilder in Tabellen blähen DB auf 4 master.robin 928 03. Feb 2007, 16:40
master.robin Bilder in Tabellen blähen DB auf
Keine neuen Beiträge Access Formulare: Bilder dynamisch anzeigen OHNE festen Pfad 13 Aurelius 1736 27. Dez 2006, 15:49
JörgG Bilder dynamisch anzeigen OHNE festen Pfad
Keine neuen Beiträge Access Tabellen & Abfragen: Bilder einbinden 7 dagmarsimone 1547 14. Dez 2006, 00:44
JörgG Bilder einbinden
Keine neuen Beiträge Access Formulare: Bilder einem Datensatz zuweisen 1 Gast 708 26. Sep 2006, 13:17
Willi Wipp Bilder einem Datensatz zuweisen
Keine neuen Beiträge Access Formulare: Bilder verkleinern aber Seitenverhältnisse beibehalten 7 FTrabold 1764 17. Aug 2006, 21:22
FTrabold Bilder verkleinern aber Seitenverhältnisse beibehalten
Keine neuen Beiträge Access Formulare: Bilder in ein Formular einbinden 10 Quangel 1511 17. Apr 2006, 21:55
Quangel Bilder in ein Formular einbinden
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Word VBA