Hallo zusammen, ich habe folgenden code, der so funktioniert, das er alle dateien (auch in allen unterordnern) ausliest und in eine tabelle schreibt. jedoch schreibt er dies immer wieder rein. ich möchte den code so ändern, das der dateiname nur dann reingeschrieben wird, wenn er noch nicht vorhanden ist. sollte der dateiname schon vorhanden sein, dann soll nur die spalte "DatumLetzteAenderung" geupdated werden.
hier der code:
Private Function OrdnerDateienAuslesen(ByVal strOrdner As String)
Dim fso As Object
Dim objFld As Object
Dim objSubFld As Object
Dim objFiles As Object
Dim fld, file
Dim rs As DAO.Recordset
Dim db As DAO.Database
'# Recordset referenzieren
Set db = CurrentDb
Set rs = db.OpenRecordset("dbo_tblFreigabe", dbOpenDynaset, dbSeeChanges)
'# File-System-Object, Startordner, Unterordner referenzieren
Set fso = CreateObject("Scripting.FileSystemObject")
Set objFld = fso.GetFolder(strOrdner)
Set objFiles = objFld.Files
For Each file In objFiles
'# Dateiname speichern
rs.AddNew
rs!Dateiname = file.Name 'Dateiname
rs!Dateipfad = file.Path 'Dateipfad
rs!DatumLetzteAenderung = file.DateLastModified 'Datum Letzte Änderung der Datei
rs.Update
Next file
Set objSubFld = objFld.SubFolders
For Each fld In objSubFld
'# Rekursiver Aufruf
OrdnerDateienAuslesen fld
Next fld
'# Objektreferenzen zerstören
Set db = Nothing
rs.Close
Set fso = Nothing
Set objFld = Nothing
End Function
habe den code selbst von einem anderen forum und dann ein wenig adaptiert. nur leider bin ich bei den next for schleifen mit zuwenig wissen unterwegs.
wäre über eure hilfe sehr dankbar.
danke u lg michael
Hallo,
setze einen zusammengesetzten eindeutigen Tabellen-Index auf die Felder "Dateiname" und "Dateipfad".
Beim Auftreten eines Fehlers wegen doppelten Dateinamens kann dann im aktuellen DS das Feld "DatumLetzteAenderung" aktualisiert werden.
Hallo,
... und was passiert, wenn eine Datei nicht mehr vorhanden ist?
Hallo,
an wen ist die Frage gerichtet?
@DF6GL:
... mal so in den Raum gestellt :)
Der TO will eine Tabelle mit einem Dateisystem synchronisieren.
Er erfasst Änderungen und neue Dateien. Ich habe mich halt gefragt, was mit gelöschten Dateien wird ...
Hallo,
naja, das muss er halt selber herausfinden, bzw. sich ein Konzept dazu überlegen.
Z. B. ob eine "Backup"-Funktion beteiligt ist oder eine Historie aufgestellt werden soll. Das hätte zur Folge, dass weitere Datum-Felder und/oder Staus-Felder eingeführt/gepflegt werden müssen.
Beim aktuellen Zustand haben gelöschte Dateien keine Auswirkung auf die entspr. DS in der Tabelle.