Frage : VBA Logik

Ich benötige ein Stück des Codes, das folgende zu tun….
Look im qry_DocumentRegister_Redundant in der Spalte Filename
Check, zum zu sehen, wenn jeder der Dateinamen in irgendwelchen des 5 Verzeichnisse specified
c:\xyz\a
c:\xyz\b
c:\xyz\c
c:\xyz\d
c:\xyz\e
If existieren, das sie dann die Akten auf directory
c:\abc\a
Else tun nothing

One anderes Problem verschieben, umfaßt der Dateiname in der Frage nicht eine Aktenart Ende nur der Dateiname selbst und in den Akten im Verzeichnis könnte jedes mögliches filetype.

Thanks

sein

Antwort : VBA Logik

Es klingt wie der Dateiname, der in Ihrer Tabelle enthält bereits den Zeitraum gespeichert (.) welches es weg von der Dateiextension oder das einstellt, ist der Dateiname, der in Ihrer Tabelle gespeichert, nicht komplett.  Versuch:

strFileName = Dir („f:\Test Directory\Live\“ u. FName u. „*.*") dieses arbeitet nicht

Der Grund er findet, dass die gleiche Akte jedes Mal, dass Sie nicht die Akte entfernen, die Sie gerade fanden, Sie kopieren sie ist.  In Ihrem ursprünglichen Pfosten sagten Sie: „Wenn sie dann die Akten auf Verzeichnis verschieben“.  Aber der FileCopy Befehl verschiebt nicht die Akte, es kopiert sie gerade.  Dass I, warum in meinem neuesten Code Sie sehen, dass ich die Akte umbenannte, die ihn wirklich auf das neue Verzeichnis verschiebt.

„C:\Access\test\Source\“ u. strFileName als „C:\Access\test\Destination\“ u. strFileName nennen

Auch wenn Sie die Dir () Funktion verwenden und es ein foldername jedes Mal führen, zurückbringt sie die erste Akte im Faltblatt, jedes Mal desmal.  Wenn Sie wirklich alle Akten in einem Faltblatt anzeigen möchten, müssen Sie etwas wie verwenden:

strFileName = Dir („f:\Test Directory\Live ")
debug.print strFileName
Tun
    strFileName = Dir ()
    debug.print strFileName
Schlingen während Len (strFileName) > 0

Auch der Code, den Sie verwenden, sucht nicht nach einer zweiten oder dritten Akte mit der gleichen Dateiextension.  Er überbrückt gerade die.  Wenn die nicht eine Ausgabe dann dann ist, Ihrem Code die Weise lassen, die sie ist.  Wenn die eine Ausgabe sein könnte dann Sie Notwendigkeit, mein neuestes Codesegment zu betrachten und diese Logik zu kopieren.
Weitere Lösungen  
 
programming4us programming4us