Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Anlage aus variablem Verzeichnis?
Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6  Weiter
zurück: Datensatznummer gleichschalten in mehrere formularen weiter: Formular in der Datanblattansicht öffnen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
MissPh!
Office-VBA-Programmiererin


Verfasst am:
24. Jul 2009, 10:38
Rufname:
Wohnort: NRW

AW: Anlage aus variablem Verzeichnis? - AW: Anlage aus variablem Verzeichnis?

Nach oben
       Version: Office 2007

Du setzt die Dir-Funktion schon wieder falsch ein! Es kann doch nicht so schwer sein, die paar Codezeilen zu verstehen oder wenigstens korrekt abzuschreiben.

Zum Testen: setze einen Unterbrechungspunkt auf den ersten ausführbaren Befehl in der Prozedur, indem du links auf den Balken klickst. Wenn der Befehl zur Ausführung kommt, öffnet sich das VBA-Fenster. Mit F8 gehst du zeilenweise durch den Code. Bei Mausbewegung werden die Variableninhalte eingeblendet.

Noch einmal komplett zum rauskopieren:
Code:
Private Sub Form_Current()
'Deklarationen
 On Error GoTo Fehlerbehandlung
    If Me.NewRecord Then Exit Sub
    pfad = "c:\...\Objektnummer_" & Me!Objektnummer & "\Bilder\Objektbilder\"
    ' nur zum Test ?
    MKDirWithParentDirs (pfad)
    strDatei = Dir(pfad)
    i = 0
    Do While strDatei <> ""
        i = i + 1
        ReDim Preserve strListe(i - 1)
        strListe(i - 1) = strDatei
        strDatei = Dir
    Loop
    Bildindex = 0
    Me!BildObjekt.Picture = pfad & strListe(Bildindex)
    Exit Sub
Fehlerbehandlung:
    If Err.Number = 9 Then
        MsgBox "Keine Bilder gefunden!"
      Else
        MsgBox Err.Description, , Err.Number
    End If
End Sub

_________________
Gruß MissPh!
MattAccess
Learning by Doing :-D


Verfasst am:
24. Jul 2009, 10:47
Rufname:
Wohnort: Ingolstadt


AW: Anlage aus variablem Verzeichnis? - AW: Anlage aus variablem Verzeichnis?

Nach oben
       Version: Office 2007

Wow, danke für deine Geduld, ich musste grad feststellen, dass ich mich ziemlich blöd angestellt hab.... Confused
Sorry.
Jetzt funktionierts soweit, bis ich zu einem Datensatz komme, bei dem kein Bild hinterlegt ist...
Mit Nz vor '...=pfad & strListe' wirds auch nix.
MissPh!
Office-VBA-Programmiererin


Verfasst am:
24. Jul 2009, 10:57
Rufname:
Wohnort: NRW

AW: Anlage aus variablem Verzeichnis? - AW: Anlage aus variablem Verzeichnis?

Nach oben
       Version: Office 2007

Kannst du bitte genauer beschreiben, was da nicht funktioniert?

Dass der Fehler 9 auftritt ist nicht vermeidbar, zumindest wüsste ich nicht wie, deshalb wird er ja abgefangen und es wird eine Meldung ausgegeben.
Was willst du daran ändern?

_________________
Gruß MissPh!
MattAccess
Learning by Doing :-D


Verfasst am:
24. Jul 2009, 11:02
Rufname:
Wohnort: Ingolstadt

AW: Anlage aus variablem Verzeichnis? - AW: Anlage aus variablem Verzeichnis?

Nach oben
       Version: Office 2007

Ich sehe eine Box mit dem Fehler 2220 und dem Text "TestDB kann die Datei "C:\Testordner\Objekte\Objektnummer_263\Bilder\Objektbilder\google.jpg" nicht öffnen".

Wobei 'google.jpg' hier das zuletzt geöffnete Bild des vorherigen Datensatzes ist.
Klicke ich mich jetzt weiter durch die DS bis zum nächsten, bei dem wieder ein Bild hinterlegt ist, funktioniert es auch wieder....
MissPh!
Office-VBA-Programmiererin


Verfasst am:
24. Jul 2009, 11:21
Rufname:
Wohnort: NRW


AW: Anlage aus variablem Verzeichnis? - AW: Anlage aus variablem Verzeichnis?

Nach oben
       Version: Office 2007

Ah, ich verstehe, es fehlt das Löschen des Arrays vor dem Einlesen neuer Dateien.

Füge diese Zeile vor dem ersten Dir-Aufruf ein:
Code:
    ReDim strListe(0)

Nachtrag:
Das haut noch nicht ganz hin. Ich habe das nun so geändert, dass der Eintrag strListe(0) leer bleibt
und man das Vorhandensein von Bildern daran erkennt, dass Ubound(strListe) > 0 ist.
Code:
Private Sub Form_Current()
 On Error GoTo Fehlerbehandlung
    If Me.NewRecord Then Exit Sub
    pfad = "c:\...\Objektnummer_" & Me!Objektnummer & "\Bilder\Objektbilder\"
    ' nur zum Test ?
    MKDirWithParentDirs pfad
    i = 0
    ReDim strListe(0)
    strDatei = Dir(pfad)
    Do While strDatei <> ""
        i = i + 1
        ReDim Preserve strListe(i)
        strListe(i) = strDatei
        strDatei = Dir
    Loop
    If UBound(strListe) > 0 Then
        Bildindex = 1
        Me!BildObjekt.Picture = pfad & strListe(Bildindex)
      Else
        Bildindex = 0
        Me!BildObjekt.Picture = ""
    End If
    Exit Sub
Fehlerbehandlung:
    MsgBox Err.Description, , Err.Number
End Sub
Das dürfte auch das spätere Blättern zwischen den Bildern erleichtern. Und der Fehler 9 muss nicht mehr abgefangen werden.
_________________
Gruß MissPh!


Zuletzt bearbeitet von MissPh! am 24. Jul 2009, 11:34, insgesamt einmal bearbeitet
MattAccess
Learning by Doing :-D


Verfasst am:
24. Jul 2009, 11:33
Rufname:
Wohnort: Ingolstadt

AW: Anlage aus variablem Verzeichnis? - AW: Anlage aus variablem Verzeichnis?

Nach oben
       Version: Office 2007

Ah, ich sehe, nun kommt die Meldung zwar noch, aber nicht mehr mit dem .jpg, welches als letztes angezeigt wurde...
Also quasi nur noch:
Zitat:
"TestDB kann die Datei "C:\...\Objektnummer_263\Bilder\Objektbilder\" nicht öffnen".
Kann ich das mit einer if-funktion umgehen?
Habs grad schon versucht, aber wie bring ich VBA bei, das es schaun soll, ob das Verzeichnis leer ist?

Habs so versucht:
Code:
    pfad = "c:\...\Objektnummer_" & Me!Objektnummer & "\Bilder\Objektbilder\"
    ReDim strListe(0)
    strDatei = Dir(pfad)
    i = 0
    Do While strDatei <> ""
        i = i + 1
        ReDim Preserve strListe(i - 1)
        strListe(i - 1) = strDatei
        strDatei = Dir
    Loop
    If pfad <> "" Then
        Bildindex = 0
        Me!BildObjekt.Picture = pfad & strListe(Bildindex)
      Else
        Me!BildObjekt.Picutre = "c:\...\Vorlagenbild\Buero.jpg"
    End If
    Exit Sub
Fehlerbehandlung:
    If Err.Number = 9 Then
        MsgBox "Keine Bilder gefunden!"
      Else
        MsgBox Err.Description, , Err.Number
    End If
aber irgendwie tut sich da nix.....
MissPh!
Office-VBA-Programmiererin


Verfasst am:
24. Jul 2009, 11:35
Rufname:
Wohnort: NRW

AW: Anlage aus variablem Verzeichnis? - AW: Anlage aus variablem Verzeichnis?

Nach oben
       Version: Office 2007

siehe oben
_________________
Gruß MissPh!
MattAccess
Learning by Doing :-D


Verfasst am:
24. Jul 2009, 12:27
Rufname:
Wohnort: Ingolstadt

AW: Anlage aus variablem Verzeichnis? - AW: Anlage aus variablem Verzeichnis?

Nach oben
       Version: Office 2007

MattAccess am 24. Jul 2009 um 11:43 hat folgendes geschrieben:
So, wunderbar, also jetzt funktioniert das hervorragend,
hab nur noch mein Standardbild eingefügt, dass ich keine zu großen leeren Flächen hab, wenn kein Bild hinterlegt ist.
Kommen wir zum letzten Schritt, die Buttons, funktioniert das mit 2?
Du hattest irgendwas mit 4 geschrieben, aber sollten die nur dafür da sein, um direkt zum ersten und letzten Bild zu springen, wären 2 besser...

Also dass ich auf den Bildindex mit Klick auf den Button +1, bzw. -1 hinzufügen muss scheine ich richtig zu verstehen.
Jedoch komm ich auch mit der Access-Hilfe nicht auf den richtigen Befehl dafür.
Könnt ihr mir da was sinnvolles empfehlen... Very Happy ?
MissPh!
Office-VBA-Programmiererin


Verfasst am:
24. Jul 2009, 12:38
Rufname:
Wohnort: NRW

AW: Anlage aus variablem Verzeichnis? - AW: Anlage aus variablem Verzeichnis?

Nach oben
       Version: Office 2007

wie wär's mit:
Code:
    Bildindex = Bildindex + 1
aber dabei musst du natürlich noch berücksichtigen, dass du nicht über UBound(strListe) hinausläufst und nicht unter 1 kommst.
_________________
Gruß MissPh!
kyron9000
Practitioner :)


Verfasst am:
24. Jul 2009, 18:26
Rufname:
Wohnort: Wien

AW: Anlage aus variablem Verzeichnis? - AW: Anlage aus variablem Verzeichnis?

Nach oben
       Version: Office 2007

hi,

wenn du das machen möchtest, diese version funktioniert super...

_________________
Gruß Alfred...

Es ist nicht immer alles so einfach wie es sich im Moment darstellt...



TestDB.zip
 Beschreibung:
bilder sind frei aus irgendeinem ordner zu wählen

Download
 Dateiname:  TestDB.zip
 Dateigröße:  55.35 KB
 Heruntergeladen:  15 mal

MattAccess
Learning by Doing :-D


Verfasst am:
27. Jul 2009, 08:18
Rufname:
Wohnort: Ingolstadt

AW: Anlage aus variablem Verzeichnis? - AW: Anlage aus variablem Verzeichnis?

Nach oben
       Version: Office 2007

Guten Morgen zusammen,
vielen Dank für eure Mühe,
dein Beispiel ist echt klasse kyron, bin grad am Hintertürchen ausprobieren, aber es scheint alles zu passen, so wie ich mir das vorstelle.
Die Sache mit den Buttons interessiert mich aber noch, das funktioniert bei mir nicht, habe jetzt folgendes drinstehen:
Code:
Private Sub Befehl626_Click()
    Bildindex = Bildindex + 1
End Sub
Sieht mir selbst auch ein bisschen spärlich aus und es passiert so auch nix, wenn ich auf den Button klicke.
Was fehlt da denn noch?

Grüße,
Matt
MissPh!
Office-VBA-Programmiererin


Verfasst am:
27. Jul 2009, 09:19
Rufname:
Wohnort: NRW

Re: AW: Anlage aus variablem Verzeichnis? - Re: AW: Anlage aus variablem Verzeichnis?

Nach oben
       Version: Office 2007

Hallo.
MattAccess - 27. Jul 2009, 08:18 hat folgendes geschrieben:
Was fehlt da denn noch?
...vielleicht die Zuweisung des Zugriffspfades zum Bildobjekt?
_________________
Gruß MissPh!
MattAccess
Learning by Doing :-D


Verfasst am:
27. Jul 2009, 09:29
Rufname:
Wohnort: Ingolstadt

AW: Anlage aus variablem Verzeichnis? - AW: Anlage aus variablem Verzeichnis?

Nach oben
       Version: Office 2007

Also so in der Art???
Code:
Private Sub Befehl626_Click()
    (Formularname.Bildobjekt.Bildindex) = Bildindex + 1
End Sub
Hast du dir kyrons Beispiel auch angesehen?
Wenn ja, kann ich da beim Bilder hinzufügen auch irgendwie mehrere Bilder auf einmal auswählen?
Oder versucht Access diese dann in einer einzigen Bilddatei zu speichern?
MissPh!
Office-VBA-Programmiererin


Verfasst am:
27. Jul 2009, 10:44
Rufname:
Wohnort: NRW

AW: Anlage aus variablem Verzeichnis? - AW: Anlage aus variablem Verzeichnis?

Nach oben
       Version: Office 2007

Wie kommst du nur auf derartigen Phantasie-Code? Shock

Im Current-Ereignis wurde doch bereits gezeigt, wie die Zuweisung des Bildes zum Bildobjekt funktioniert:
Code:
    Bildindex = 1
    Me!BildObjekt.Picture = pfad & strListe(Bildindex)
Demnach sollte es beim Blättern folgendermaßen gehen:
Code:
    Bildindex = Bildindex  + 1
    Me!BildObjekt.Picture = pfad & strListe(Bildindex)
Wenn du dann noch aufpasst, dass der Index nicht überläuft, sollte das so aussehen:
Code:
    If Bildindex < UBound(strListe) Then
        Bildindex = Bildindex  + 1
        Me!BildObjekt.Picture = pfad & strListe(Bildindex)
      Else
        MsgBox "Ende erreicht!"
    End If

Und Nein, kyrons Beispiel habe ich mir nicht angeschaut, weil ich der Ansicht war, dass keine andere Lösung benötigt wurde, da du praktisch / so gut wie fertig damit warst.

_________________
Gruß MissPh!
MattAccess
Learning by Doing :-D


Verfasst am:
27. Jul 2009, 11:07
Rufname:
Wohnort: Ingolstadt


AW: Anlage aus variablem Verzeichnis? - AW: Anlage aus variablem Verzeichnis?

Nach oben
       Version: Office 2007

MattAccess am 27. Jul 2009 um 10:47 hat folgendes geschrieben:
Naja, sollte ja nicht als Code, sondern mehr als "Zeile mit Platzhaltern" gelten,
aber Montag Morgen hab ich immer meine sehr kreative Zeit, da kommt sowas schonmal dabei raus... Very Happy

So sollte ichs ja dann hinbekommen Smile

Das funktioniert jetzt soweit ganz gut, jedoch kommt immer mal wieder, aber unregelmäßig die Meldung:
Zitat:
Index außerhalb des gültigen bereichs!
Code sieht so aus, wie von dir beschrieben
Code:
Private Sub Befehl626_Click()
    Bildindex = Bildindex + 1
    Me!BildObjekt.Picture = pfad & strListe(Bildindex)
    If Bildindex < UBound(strListe) Then
        Bildindex = Bildindex + 1
        Me!BildObjekt.Picture = pfad & strListe(Bildindex)
      Else
        MsgBox "Ende erreicht!"
    End If
End Sub
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6  Weiter
Diese Seite Freunden empfehlen

Seite 5 von 6
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 Formulare: Anlage per VBA hinzufügen 8 jerryre89 1312 14. Apr 2012, 20:21
jerryre89 Anlage per VBA hinzufügen
Keine neuen Beiträge Access Tabellen & Abfragen: Feld Anlage in bestehender Datenbank erstellen 4 Ogni 295 09. Nov 2010, 10:40
Ogni Feld Anlage in bestehender Datenbank erstellen
Keine neuen Beiträge Access Tabellen & Abfragen: Abfragen mit variablem Namen vergleichen 1 Chris123456 185 18. Aug 2010, 19:28
Gast Abfragen mit variablem Namen vergleichen
Keine neuen Beiträge Access Tabellen & Abfragen: Dateien und Ordner aus Verzeichnis auslesen und Tabellieren 0 binichnich 993 17. Jun 2010, 15:05
binichnich Dateien und Ordner aus Verzeichnis auslesen und Tabellieren
Keine neuen Beiträge Access Berichte: Bericht mit variablem Inhalt? 1 blue_think 302 18. März 2010, 09:20
tooones Bericht mit variablem Inhalt?
Keine neuen Beiträge Access Formulare: Anlage mdb wird geblockt - Access 2007 0 GeorgK 598 21. Sep 2009, 12:37
GeorgK Anlage mdb wird geblockt - Access 2007
Keine neuen Beiträge Access Programmierung / VBA: Acc2007 - Anlage in Datenbank einfügen 5 Berliner 898 26. Nov 2008, 05:47
Willi Wipp Acc2007 - Anlage in Datenbank einfügen
Keine neuen Beiträge Access Programmierung / VBA: Daten in Tabelle für ein Verzeichnis möglich? 2 Markos 398 24. Nov 2008, 09:50
Markos Daten in Tabelle für ein Verzeichnis möglich?
Keine neuen Beiträge Access Programmierung / VBA: Verzeichnis Serienbrief aus Access 0 Gast 382 29. Apr 2008, 21:03
Gast Verzeichnis Serienbrief aus Access
Keine neuen Beiträge Access Programmierung / VBA: Verzeichnis ermitteln / Pfad aufschlüsseln 2 metalbeetle 3931 23. Jan 2008, 21:17
metalbeetle Verzeichnis ermitteln / Pfad aufschlüsseln
Keine neuen Beiträge Access Programmierung / VBA: Tabelle in bestimtes Verzeichnis speichern 8 isegrim67 485 31. Aug 2007, 10:57
isegrim67 Tabelle in bestimtes Verzeichnis speichern
Keine neuen Beiträge Access Programmierung / VBA: aktuelles Verzeichnis der DB 2 redqueen 2824 16. Nov 2006, 07:58
redqueen aktuelles Verzeichnis der DB
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel Tricks