Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Bilder laut Tabelleneintrag kopieren oder verschieben

Begonnen von JoergAT, Oktober 07, 2020, 14:04:44

⏪ vorheriges - nächstes ⏩

JoergAT

Hallo,
vielleicht kann mir jemand Helfen. Ich habe folgendes Problem.

Ich möchte gerne über einen Button diese Bilder (siehe Bild), die in dieser Tabelle stehen von Ihrem alten Ordner "Ist" in den neuen Ordner "Soll" kopieren oder verschieben je nachdem was gewählt (Aktionsart)wurde.

Wer kann mir hier weiterhelfen?
Das wäre super :-)

Ich benötige den vba Code für meinen Button

Danke schon mal im voraus.
Gruß Jörg

Datei zum download: http://regional-meine-wahl.de/DatenKopieren.accdb

Bild als pdf: http://regional-meine-wahl.de/Ansicht.pdf

Beaker s.a.

Hallo Jörg,
Externe Links sind hier nicht gerne gesehen. Ich öffne sie gar
nicht mehr.
Packe beide Dateien in ein zip-Archiv und lade es direkt hier
im Forum hoch, - siehe "Attachments and other options"
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

JoergAT

OK, danke
bin neu hier muss mich erst einfinden ;-)


Beaker s.a.

Hallo Jörg,
Nur ganz kurz, muss jetzt weg
Luftcode:
Dim sCopyMove As String
Dim rst As DAO.Recordset
'Recordset erstellen mit DS-Herkunft wie UFo
'per Schleife
While Not rst.EOF
    sCopyMove = rst.DatenpfadIst & rst.DatenbildIst & " " & rst.DatenpfadSoll & rst.DatenbildSoll
    Select Case rst.AktionsArt
    Case "Bild Kopieren"  'ein Schlüssel (1, 2, ...) wäre hier besser
        Copy sCopyMove
    Case "Bild verschieben"
        Name sCopyMove
    End Select
Loop
Kann sein, dass in dem/um den String noch " fehlen.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

JoergAT

Hallo ekkehard,

habe deinen Code getestet und auch so weit ich kann abgeändert, so das die Fehlermeldungen vielleicht verschwinden.

Leider ohne Erfolg.

Könntest du da nochmal drüber schauen?

Wäre super :-)

Danke Gruß Jörg

Beaker s.a.

ZitatKönntest du da nochmal drüber schauen?
Wo?
Hast die Anlage im OP getauscht?
Am Einfachsten du lädst die DB mal hier hoch, da muss ich nicht alles
nachbauen.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

JoergAT


Zitat von: Beaker s.a. am Oktober 08, 2020, 12:50:10
ZitatKönntest du da nochmal drüber schauen?
Wo?
Hast die Anlage im OP getauscht?
Am Einfachsten du lädst die DB mal hier hoch, da muss ich nicht alles
nachbauen.

Die Datenbank befindet sich in der zip Datei (Ansicht.zip) in der Fragestellung.

Danke für die Mühe

Beaker s.a.

Hallo Jörg,
Hier der Code für den Button (Fehlerbehandlung fehlt noch)
Private Sub btoListeBearbeiten_Click()

    Dim sQuelle As String
    Dim sZiel As String
    Dim rst As DAO.Recordset
   
    Set rst = Me.ufcDatenbilderKopieren.Form.Recordset

    With rst
        .MoveFirst
        Do While Not .EOF
            sQuelle = .Fields(1) & .Fields(2) & " "
            sZiel = .Fields(3) & .Fields(4)
            Select Case .Fields(5)
            Case 0
                FileCopy sQuelle, sZiel
            Case 1
              Name sQuelle As sZiel
            End Select
            .Edit
                .Fields(6) = True
            .Update
            .MoveNext
        Loop
    End With
   
Set rst = Nothing

End Sub

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

JoergAT

Hallo ekkehard, danke für deine Mühe, aber ich bekomme es nicht zum laufen.

Code habe ich wie folgt abgeändert.

    Dim sQuelle As String
    Dim sZiel As String
    Dim rst As DAO.Recordset
   
    Set rst = Me.ufcDatenbilderKopieren.Form.Recordset

    With rst
        .MoveFirst
        Do While Not .EOF
            sQuelle = .txtDatenpfadIst & .txtDatenbildIst & " "
            sZiel = .txtDatenpfadSoll & .txtDatenbildSoll
           
            Select Case .txtAktionsart
                Case 0
                 FileCopy sQuelle, sZiel
                   
                Case 1
                 Name sQuelle As sZiel
             
            End Select
            .Edit
                .txterledigt = True
            .Update
            .MoveNext
        Loop
    End With
   
Set rst = Nothing

Was ist da noch falsch?
Danke Gruß Jörg

ebs17

    With rst
        .MoveFirst
        Do While Not .EOF
            ' sQuelle = .txtDatenpfadIst & .txtDatenbildIst & " "
            sQuelle = .Fields("txtDatenpfadIst") & .Fields("txtDatenbildIst") & " "
           
            ' oder schlechter
            ' sQuelle = !txtDatenpfadIst & !txtDatenbildIst & " "
(Syntax ist nicht beliebig.)
Mit freundlichem Glück Auf!

Eberhard

JoergAT

Top, vielen vielen Dank das funzt super.



Gruß Jörg

Hier nochmal zum download