vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Zugriff auf Netzlaufwerke beschleunigen ?!  
Autor: Silvio22
Datum: 07.11.06 08:41

Guten morgen zusammen,

ich habe mir eine kleine Funktion geschrieben, mit der ich die komplette Verzeichnis-
struktur inkl. aller Dateien eines Verzeichnisses auslesen kann.
Die Funktion funktioniert an und für sich prima, allerdings ist das große Manko die Geschwindigkeit beim Zugriff auf Netzlaufwerke.
(Trotz Intel Pent. 4 HT 2,8 GHz; GBit LAN; 1 GB RAM)

Nachfolgend gebe ich euch mal den Quellcode der Funktion.
Ich würde mich riesig freuen, wenn jemand einen "Tuning-Tip" für mich hätte.

 
Public Function GetAllFiles(strPfad As String)
    On Error GoTo Err_GetAllFiles
 
        Dim adoRs As New ADODB.Recordset
        Dim strSQL As String
 
        Dim fso As New FileSystemObject
        Dim oFolder As Folder
        Dim oSubFolder As Folder
        Dim oFile As File
 
 
            If Right(strPfad, 1) <> "\" Then
                strPfad = strPfad & "\"
            End If
 
 
                strSQL = "Select * From Dateiliste"
                adoRs.Open strSQL, CurrentProject.AccessConnection, _
                  adOpenDynamic, adLockOptimistic
 
 
                    Set fso = CreateObject("Scripting.FileSystemObject")
                    Set oFolder = fso.GetFolder(strPfad)
 
 
                        On Error Resume Next
                        If oFolder.SubFolders.Count > 0 Then
                            For Each oSubFolder In oFolder.SubFolders
 
                                    For Each oFile In oSubFolder.Files
 
                                        With adoRs
                                            .AddNew
                                            !DaLi_Pfad = oFolder.Path
                                            !DaLi_Datei = oFile.Name
                                            .Update
                                        End With
 
                                    lngFileCounter = lngFileCounter + 1
 
                                    Next
 
                                    Forms!FrmVerzeichnisAuslesen!txt_AktPfad = _
                                      oSubFolder.Path
                                    Forms!FrmVerzeichnisAuslesen!txt_FileCounte_
                                    r = lngFileCounter
 
                                GetAllFiles (oSubFolder.Path)
 
                            Next
 
                        End If
 
 
Exit_GetAllFiles:
    Exit Function
 
Err_GetAllFiles:
    MsgBox "Problem Nr. " & Err.Number & ", Grund: " & Err.Description & "." & _
      "<20061106-1524>.", "Problem"
    Resume Exit_GetAllFiles
 
End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Zugriff auf Netzlaufwerke beschleunigen ?! 754Silvio2207.11.06 08:41
Re: Zugriff auf Netzlaufwerke beschleunigen ?! 472ModeratorFZelle07.11.06 08:55
Re: Zugriff auf Netzlaufwerke beschleunigen ?! 473Silvio2207.11.06 09:01
Re: Zugriff auf Netzlaufwerke beschleunigen ?! 479wb-soft07.11.06 19:34
Re: Zugriff auf Netzlaufwerke beschleunigen ?! 443Silvio2209.11.06 10:59

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel