Tabelle füllen mit externer Datei

Guten Morgen Gerd,

ich glaube, wir haben leichte Verständigungsschwierigkeiten. :smile:

Die Liste der Pfade (Dateinamen) habe ich in einer Query
stehen.

Schön.

Soll ich diese in einer Tabelle umwandeln?

Nein, wozu? Die kommen doch aus einer Tabelle.

Ich bin mir
nicht sicher, ob man mit der Query die Daten auch so
verarbeiten kann wie mit einer Tabelle.
Du hattest als Beispiel geschrieben:
„SELECT DISTINCT [Sds-task].Feld1 FROM [Sds.task] WHERE Feld1
LIKE ‚Test%‘:“

soll das bedeuten, ich brauche nicht extra eine Query zu
erstellen, um die Daten zu filtern?

Hmmm. Unser Programm erzeugt Abfragen, objRS ist eine Abfrage, Du kannst es auch gern englisch sagen, eine Query.

Wir arbeiten schon von Anfang an mit Abfragen.
In eine Abfrage kann man auch Daten eintragen, die Bedingung dabei ist nur, daß sie eine ganze Tabelle und alle deren Felder enthält.

1/4 haben WIR schon…hmmm…denke ab jetzt wird es etwas
schwieriger, habe mir gestern noch ein Buch gekauft „Access
2002 Programmieren“ damit ich in etwas verstehe wovon du
redest :smile:

Wie ist dein Plan, was soll ich tun oder vorbereiten?

Mein Plan ist, daß ich den Überblick behalte und weiß, was vorgeht, was Du siehst. Wenn ich rate, geht das Ergebnis mit Sicherheit am Ziel vorbei.

Deshalb ist das erste Etappenziel, daß Du eine Userform bekommst, auf der ein Listensteuerelement liegt, in dem Du Deine Pfade siehst.

Ich hatte nämlich ursprünglich verstanden, daß wir uns zuerst die Liste der Pfade suchen, inzwischen bin ich mir nicht mehr sicher, daß das richtig ist.

Noch eine Frage.

Eigentlich willst Du doch nur auf vier Servern eine Reihe von Textdateien syncronisieren, richtig? Hat das mit Access etwas zu tun, außer daß Du kein anderes Werkzeug hast?

Also noch einmal, was ich im Moment glaube verstanden zu haben.

Du hast eine .mdb, in der Du eine Tabelle hast, die Pfade zu Dateien auf vier verschiedenen Servern enthält.

Diese Dateien sollen alle die selbe Struktur haben, was aber nicht immer zuverlässig passt.

Zeilen, die nicht in die Struktur passen, dürfen verworfen werden.

Keine Zeile soll doppelt vorkommen.

Die Zeilen dürfen sortiert werden.

Den Umweg über eine Access-Abfrage hast Du Dir ausgedacht, um doppelte Zeilen entfernen zu können.

Richtig so?

Wenn wir jetzt folgendes tun, hättest Du nach dem, was ich verstanden habe das selbe Ergebnis:

  • Wir haben eine Liste mit Pfaden.
  • Wir laden die entsprechende Datei von jedem der Server und bringen die Zeilen alle zusammen.
  • Wir sortieren die Zeilen.
  • Wir entfernen Zeilen, deren Struktur nicht zur Vorschrift passt.
  • Wir entfernen doppelte Zeilen.
  • Das Ergebnis schreiben wir auf alle vier Server zurück.

Bis auf die Liste der Pfade, die ja scheinbar in einer datenbank liegt, benötigen wir dafür keine Datenbank, das geht ohne viel bequemer und schneller. :smile:

Gruß Rainer

Hallo Rainer,

Ist auch nicht einfach zu beschreiben :smile:

Ist-Zustand:

WIR haben von 4 verschiedenen Servern jeweils von 1 Datei deren Inhalt in eine Tabelle geladen (ca. 1800 Zeilen).
Dann bin ich hingegangen, habe eine Query erzeugt und die Datenmenge hat sich auf ca. 46 Zeilen reduziert.
Jede dieser 46 Zeilen beinhaltet jeweils einen Filenamen, der auf jeden der 4 Servern zu finden ist.

Soll-Zustand:
Jeder der 46 Filenamen (die von der Query) muss jetzt einzeln auf allen 4 Servern ausgelesen werden.
Der Inhalt in eine Tabelle geschrieben werden, dann Distinc und die Daten wieder zurück auf die 4 Server in das File was vorher ausgelesen wurde zurück schreiben.

Sinn dieser Aktion ist folgender: Alle 4 Server haben zwar ein File mit dem gleichen Filenamen, aber der Dateninhalt des files KANN unterschiedlich sein. In dem wir den Inhalt von allen 4 Servern auslesen, in eine Tabelle zusammen führen, doppelte Einträge (distinc)entfernen und dann den Inhalt auf die 4 Server wieder zurück schreiben, ist gewährleistet, dass alle 46 Files auf den 4 Servern den gleichen Inhalt haben.

Hoffe ich konnte es diesmal etwas besser rüberbringen…

Gruss Gerd

Guten Morgen Gerd,

ich glaube, wir haben leichte Verständigungsschwierigkeiten.

-)

Die Liste der Pfade (Dateinamen) habe ich in einer Query
stehen.

Schön.

Soll ich diese in einer Tabelle umwandeln?

Nein, wozu? Di kommen doch aus einer Tabelle.

Ich bin mir
nicht sicher, ob man mit der Query die Daten auch so
verarbeiten kann wie mit einer Tabelle.
Du hattest als Beispiel geschrieben:
„SELECT DISTINCT [Sds-task].Feld1 FROM [Sds.task] WHERE Feld1
LIKE ‚Test%‘:“

soll das bedeuten, ich brauche nicht extra eine Query zu
erstellen, um die Daten zu filtern?

Hmmm. Unser Programm erzeugt Abfragen, objRS ist eine Abfrage,
Du kannst es auch gern englisch sagen, eine Query.

Wir arbeiten schon von Anfang an mit Abfragen.
In eine Abfrage kann man auch Daten eintragen, die Bedingung
dabei ist nur, daß sie eine ganze Tabelle und alle deren
Felder enthält.

1/4 haben WIR schon…hmmm…denke ab jetzt wird es etwas
schwieriger, habe mir gestern noch ein Buch gekauft „Access
2002 Programmieren“ damit ich in etwas verstehe wovon du
redest :smile:

Wie ist dein Plan, was soll ich tun oder vorbereiten?

Mein Plan ist, daß ich den Überblick behalte und weiß, was
vorgeht, was Du siehst. Wenn ich rate, geht das Ergebnis mit
Sicherheit am Ziel vorbei.

Deshalb ist das erste Etappenziel, daß Du eine Userform
bekommst, auf der ein Listensteuerelement liegt, in dem Du
Deine Pfade siehst.

Ich hatte nämlich ursprünglich verstanden, daß wir uns zuerst
die Liste der Pfade suchen, inzwischen bin ich mir nicht mehr
sicher, daß das richtig ist.

Noch eine Frage.

Eigentlich willst Du doch nur auf vier Servern eine Reihe von
Textdateien syncronisieren, richtig? Hat das mit Access etwas
zu tun, außer daß Du kein anderes Werkzeug hast?

Also noch einmal, was ich im Moment glaube verstanden zu
haben.

Du hast eine .mdb, in der Du eine Tabelle hast, die Pfade zu
Dateien auf vier verschiedenen Servern enthält.

Diese Dateien sollen alle die selbe Struktur haben, was aber
nicht immer zuverlässig passt.

Zeilen, die nicht in die Struktur passen, dürfen verworfen
werden.

Keine Zeile soll doppelt vorkommen.

Die Zeilen dürfen sortiert werden.

Den Umweg über eine Access-Abfrage hast Du Dir ausgedacht, um
doppelte Zeilen entfernen zu können.

Richtig so?

Wenn wir jetzt folgendes tun, hättest Du nach dem, was ich
verstanden habe das selbe Ergebnis:

  • Wir haben eine Liste mit Pfaden.
  • Wir laden die entsprechende Datei von jedem der Server und
    bringen die Zeilen alle zusammen.
  • Wir sortieren die Zeilen.
  • Wir entfernen Zeilen, deren Struktur nicht zur Vorschrift
    passt.
  • Wir entfernen doppelte Zeilen.
  • Das Ergebnis schreiben wir auf alle vier Server zurück.

Bis auf die Liste der Pfade, die ja scheinbar in einer
datenbank liegt, benötigen wir dafür keine Datenbank, das geht
ohne viel bequemer und schneller. :smile:

Gruß Rainer

Hallo,

Ist auch nicht einfach zu beschreiben :smile:

Ist-Zustand:

WIR haben von 4 verschiedenen Servern jeweils von 1 Datei
deren Inhalt in eine Tabelle geladen (ca. 1800 Zeilen).
Dann bin ich hingegangen, habe eine Query erzeugt und die
Datenmenge hat sich auf ca. 46 Zeilen reduziert.
Jede dieser 46 Zeilen beinhaltet jeweils einen Filenamen, der
auf jeden der 4 Servern zu finden ist.

OK, also doch erst mal richtig verstanden.

Damit wird der erste Schritt, diese 46 Zeilen anzuzeigen.
Wenn die zuverlässig in Ordnung sind, können wir weiter machen.

Soll-Zustand:
Jeder der 46 Filenamen (die von der Query) muss jetzt einzeln
auf allen 4 Servern ausgelesen werden.
Der Inhalt in eine Tabelle geschrieben werden, dann Distinc
und die Daten wieder zurück auf die 4 Server in das File was
vorher ausgelesen wurde zurück schreiben.

Sinn dieser Aktion ist folgender: Alle 4 Server haben zwar ein
File mit dem gleichen Filenamen, aber der Dateninhalt des
files KANN unterschiedlich sein. In dem wir den Inhalt von
allen 4 Servern auslesen, in eine Tabelle zusammen führen,
doppelte Einträge (distinc)entfernen und dann den Inhalt auf
die 4 Server wieder zurück schreiben, ist gewährleistet, dass
alle 46 Files auf den 4 Servern den gleichen Inhalt haben.

Hoffe ich konnte es diesmal etwas besser rüberbringen…

Verstanden ja, aber der Umweg über die Tabelle ist nach meiner Meinung nicht sinnvoll, viel zu umständlich. :smile:

Mal die Fortsetzung, wenn wir die Pfade zu den Files un den Servern in Arrays haben … Ohne Datenbank. :smile:

Dim Feld() As String

Private Sub QuickSort(ByVal LB As Long, ByVal UB As Long)
 Dim P1 As Long, P2 As Long, Ref As String, TEMP As String
 P1 = LB
 P2 = UB
 Ref = Feld((P1 + P2) / 2)
 Do
 Do While (Feld(P1) Ref)
 P2 = P2 - 1
 Loop
 If P1 P2)
 If LB Zl Then
 Tmp(n) = Feld(i)
 n = n + 1
 Zl = Feld(i)
 End If
 Next
 ReDim Feld(n - 1)
 For i = 0 To n - 1
 Feld(i) = Tmp(i)
 Next
End Sub

Private Sub Command1\_Click()
 Dim Pfd() As String, Txt As String, Daten As String
 Dim i As Integer, c As Integer, ff As Integer, l As Long
 Dim Server(3) As String, Pfad As String
 'das Array pfd soll die Pfade enthalten.
 'wie die da hin kommen müssen wir noch klären.
 ff = FreeFile
 For i = LBound(Pfd) To UBound(Pfd)
 Daten = ""
 For c = 0 To 3
 Pfad = Server(c) + Pfd(i)
 l = FileLen(Pfad)
 Txt = Space(l)
 Open Pfad For Binary As #ff
 Get #ff, , Txt
 Close #ff
 Daten = Daten + Txt
 Next
 Feld = Split(Daten, vbCrLf)
 QuickSort Feld(LBound(Feld), UBound(Feld))
 Clean
 'File ist sortiert, Doppelte sind entfernt.
 'Struktur prüfen und Fehler entfernen?
 Next
End Sub

Das ist schnell! Quicksort ist nur kopiert, das ist nicht von mir, so genial bin ich nicht. :smile:

Aber Vorsicht! Der Code ist nicht getestet, nur aus dem Kopf getippt!

Du musst mir jetzt erst mal bestätigen, daß Du die 46 Pfade siehst, dann können wird das hier in das Programm einbuen und Du bist fertig. :smile:

Ohne, daß die Pfade erst mal zuverlässig in dem Array stehen, können wir nicht weiter machen.

Gruß Rainer

Rainer,

ohne Datenbank…wie soll das denn gehen???

Seufz…netter Code, verstehe ihn aber überhaupt nicht :frowning:
Habe ihn in meine DB eingebaut, aber sorry, habe keinen Plan was
du damit vor hast.
Die Pfade die du angesprochen hast, sind immer gleich, es ändert sich nur der Server und der Name von den 46 Files und die sehe ich wie gesagt in der Tabelle und in meiner Query.

Du fährst zu schnell, ich komme absolut nicht mehr mit…

Gruss Gerd

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Gerd,

ohne Datenbank…wie soll das denn gehen???

schneller und bequemer. :smile:

Was Du da vor hast ist keine Anwendung für eine Datenbank.
In einer datenbank sammelt und archiviert man daten über einen längeren Zeitraum und greift mit Filtern gezielt auf bestimmte Daten zu, wenn man sie braucht.

Um aktuelle Daten zu lesen, verarbeiten zurückschreiben und dann alles wieder vergessen ist eine datenbank das falsche Werkzeug.

Die Datenbank liegt doch auf einer Festplatte. Zugriffe auf die Datenbank sind also immer Schreib-, Lesezugriffe auf die Festplatte.
Temporäre Daten kann man aber im Arbeitsspeicher verarbeiten, der ist sehr viel schneller.

Seufz…netter Code, verstehe ihn aber überhaupt nicht :frowning:

Teile, alles … Soll ich Kommentare ran schreiben?
Quicksort ist z.B. auch schwer zu verstehen. Die Prozedur arbeitet rekursiv, ruft sich immer wieder selbst auf und ist dadurch so schnell. Bis man verstanden hat, warum das so ist, wie das exakt arbeitet, hat man mehrere Knoten im Gehirn. :smile: Wichtig ist nur zu wissen:
Im Array ‚Feld()‘ steht nach dem Laden der Inhalt der vier Dateien Zeilenweise. In Feld(0) steht Zeile 1, im Feld(1) steht Zeile 2 …
Quicksort sortiert die dann Alphabetisch, zwei gleiche Zeilen stehen danach zwangsläufig direkt hintereinander und die doppelte wird schnell gefunden und kann aussortiert werden.

Habe ihn in meine DB eingebaut, aber sorry, habe keinen Plan
was du damit vor hast.

Der code liest die Daten von Deinen servern, sortiert sie, wirft doppelt vorkommende Zeilen weg und … Ach ha, die drei zeilen zum zurückschreiben fehlen noch. :smile:

Die Pfade die du angesprochen hast, sind immer gleich, es
ändert sich nur der Server und der Name von den 46 Files und
die sehe ich wie gesagt in der Tabelle und in meiner Query.

Dann gib die mal in eine Liste aus, oder meinetwegen übergib sie an das Array ‚Pfd()‘. Beim Zusammensetzen von ‚Server() + Pfd()‘ muss jedenfalls ein gältiger Pfad entstehen, aus dem Daten gelesen werden können.

Du fährst zu schnell, ich komme absolut nicht mehr mit…

Gestern ging’s Dir noch zu langsam. :smile:

Wenn Die Pfade klar sind, verarbeitet der Code Deine Daten, wenn ich nicht irgendwo einen fehler eingebaut habe.

Im Moment ist noch keine Code enthaltn, der Daten schreibt/überschreibt, der Code liest nur, macht nichts kaputt. Den kannst Du also gefahrlos testen.

Gruß Rainer

Hallo gerd,

Seufz…netter Code, verstehe ihn aber überhaupt nicht :frowning:

Du fährst zu schnell, ich komme absolut nicht mehr mit…

dann der selbe Code noch mal kommentiert.
Ist er jetzt verständlich?

Gruß Rainer

Dim Feld() As String ' Ref)
 P2 = P2 - 1
 Loop
 If P1 P2)
 If LB Zl Then '

Hallo Rainer,

Teile, alles … Soll ich Kommentare ran schreiben?

Ja bitte!

Die Datenbank liegt doch auf einer Festplatte. Zugriffe auf

die Datenbank sind also immer Schreib-, Lesezugriffe auf die
Festplatte.

Ja schon, aber der Servername ändert sich doch. Es sind 4 verschiedene Server! Wie soll ich sie in Pfad = Server© + Pfd(i) einbinden?

Danke und Gruss Gerd

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Rainer,

ja viel besser :smile:

Sollen wir die Server nicht mit einer Konstante definieren, z.B.

Dim server (4)
server1 = ner0001
Server2 = ner0002
etc.

Der Pfad ist immer gleich, es ändert sich dann nur noch der Filename.

Gruss Gerd

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Gerd,

Teile, alles … Soll ich Kommentare ran schreiben?

Ja bitte!

ist schon da. :smile:

Die Datenbank liegt doch auf einer Festplatte. Zugriffe auf

die Datenbank sind also immer Schreib-, Lesezugriffe auf die
Festplatte.

Ja schon, aber der Servername ändert sich doch. Es sind 4
verschiedene Server! Wie soll ich sie in Pfad = Server© +
Pfd(i) einbinden?

Beispiel:

Private Sub Command1\_Click()
 Dim Pfd(3) As String
 Dim Server(1) As String
 Dim i As Integer, c As Integer

 Pfd(0) = "Datei1.txt" '

Als Ergebnis werden mir folgende Pfade auf die Form geprintet:

\\Castor\Archiv\Datei1.txt
\\Pollux\Archiv\Datei1.txt
\\Castor\Archiv\Datei2.txt
\\Pollux\Archiv\Datei2.txt
\\Castor\Archiv\Datei3.txt
\\Pollux\Archiv\Datei3.txt
\\Castor\Archiv\Datei4.txt
\\Pollux\Archiv\Datei4.txt

Die Namen und Pfade der vier Server kommen in das Array 'Server()'
Das hat ja bei Dir vier Felder (0 - 3) da passen die vier Pfade zu den Servern rein. Ich habe für das Beispiel mal nur zwei genommen sonst hätte ich jetzt wunde Finger. :smile:

Wenn die Dateien in unterschiedlichen Verzeichnissen auf den Servern liegen, gehören die Verzeichnisse mit zu den Dateinamen.

Jetzt klarer?

Gruß Rainer

Hallo Gerd,

Sollen wir die Server nicht mit einer Konstante definieren,
z.B.

Dim server (4)
server1 = ner0001
Server2 = ner0002
etc.

Im prinzip ja, aber die Schreibweise ist falsch. :smile:

Dim Server(3) As String
Server(0) = „\ner0001“
Server(1) = „\ner0002“

Der Pfad ist immer gleich, es ändert sich dann nur noch der
Filename.

Der Pfad gehört dann mit hier hin, Beilspiel:

Server(0) = „\ner0001\Archiv\Daten“ …

Gruß Rainer

Hallo Rainer,

hört sich super an! Nehme aber als Test meine Platte „C“, weil ich auf dem Produktivservern erst schreiben möchte wenn das Prg. steht.

Hier nun das Beispiel damit ich Dich richtig verstanden habe und wenn du nickst, füge ich es in die DB ein:

Private Sub Befehl5_Click()
Dim Pfd() As String, Txt As String, Daten As String
Dim i As Integer, c As Integer, ff As Integer, l As Long
Dim Server(3) As String, Pfad As String
Server(0) = „c:\Server1“
Server(1) = „c:\Server2“
Server(2) = „c:\Server3“
Server(3) = „c:\Server4“
ff = FreeFile
For i = LBound(Pfd) To UBound(Pfd)
Daten = „“
For c = 0 To 3
Pfad = Server© + Pfd(i)
l = FileLen(Pfad)
etc.

Gruss Gerd

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Gerd,

hört sich super an! Nehme aber als Test meine Platte „C“, weil
ich auf dem Produktivservern erst schreiben möchte wenn das
Prg. steht.

OK, aber für schreiben habe ich noch gar keinen Code geschrieben. :smile:
So vorsichtig bin ich schon selbst, bisher lesen wir nur.

Hier nun das Beispiel damit ich Dich richtig verstanden habe
und wenn du nickst, füge ich es in die DB ein:

Private Sub Befehl5_Click()
Dim Pfd() As String, Txt As String, Daten As String
Dim i As Integer, c As Integer, ff As Integer, l As Long
Dim Server(3) As String, Pfad As String
Server(0) = „c:\Server1“

Da fehlt entweder am Ende ein Backslash, oder den schreibst Du zum Dateinamen. Ich würde lieber hier schreiben:

Server(1) = „c:\Server2“
Server(2) = „c:\Server3“
Server(3) = „c:\Server4“
ff = FreeFile
For i = LBound(Pfd) To UBound(Pfd)
Daten = „“
For c = 0 To 3
Pfad = Server© + Pfd(i)
l = FileLen(Pfad)
etc.

Ja. Der Code läuft dann natürlich nur, wenn es die Verzeichnisse ‚Server1‘ … auch gibt. Die kann man ja aber mal zeitweilig anlegen um zu testen.

Gruß Rainer

Hallo Rainer,

die Verzeichnisse und Dateien habe ich schon angelegt. Es gibt nun die 4 Server wie beschrieben.
Das Backslash habe ich hinzugefügt :smile:

Gruss
Gerd

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Gerd,

die Verzeichnisse und Dateien habe ich schon angelegt.

… Und mit den daten von den Servern gefüllt?
Wenn dafür genug Platz ist, kannst Du ja nach Herzenslust testen!

Es gibt nun die 4 Server wie beschrieben.
Das Backslash habe ich hinzugefügt :smile:

Na dann … im ersten Teil unseres Codes, der mit der datenbank, soll ja eine Liste mit 46 Pfaden herauskommen. Wenn Du nun beide Teile des Codes zusammenbringst und das Array ‚Pfd()‘ im zweiten Teil mit dem Ergebnis aus dem ersten Teil füllst, darfst Du schon mal einen Testlauf machen und dabei Sptoppunkte setzen um zu sehen was passiert. Ich tippe dann mal die Änderung, damit die Daten auch geschrieben werden. :smile:

Gruß Rainer

Hallo Rainer,

leider gibt es noch eine Frage…
Den Code von dem bis jetzt geschriebenen habe ich Dir per Mail gesendet (wußte nicht ob es OK ist hier, weil er so lang ist).

Zur Info:
Ich habe 4 Buttons wo ich die Daten von Server 1-4 in eine Tabelle lade.
Den letzten Code von Dir hatte ich ja hinzugefügt und dort wo:
Private Sub Befehl5_Click()
Dim Pfd() As String, Txt As String, Daten As String
Dim i As Integer, c As Integer, ff As Integer, l As Long
Dim Server(3) As String, Pfad As String
Server(0) = „c:\server1“
Server(1) = „c:\server2“ etc.

steht, habe ich Befehl5 auch mit einem Button verbunden.
Ich aktiviere nun Server 1-4 und danach den Button Befehl 5, bekomme aber dann die Fehlermeldung bei QuickSort „Argument ist nicht optional“.

Sorry ist nicht leicht mit mir, ich weiß…:frowning:

Gruss Gerd

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Gerd,

Den Code von dem bis jetzt geschriebenen habe ich Dir per Mail
gesendet (wußte nicht ob es OK ist hier, weil er so lang ist).

per Mail ist auch OK.

Zur Info:
Ich habe 4 Buttons wo ich die Daten von Server 1-4 in eine
Tabelle lade.

Warum? Du weißt doch jetzt, wie man das in einer Prozedur mit einer Schleife machen kann.

Den letzten Code von Dir hatte ich ja hinzugefügt und dort wo:
Private Sub Befehl5_Click()
Dim Pfd() As String, Txt As String, Daten As String
Dim i As Integer, c As Integer, ff As Integer, l As Long
Dim Server(3) As String, Pfad As String
Server(0) = „c:\server1“
Server(1) = „c:\server2“ etc.

steht, habe ich Befehl5 auch mit einem Button verbunden.
Ich aktiviere nun Server 1-4 und danach den Button Befehl 5,
bekomme aber dann die Fehlermeldung bei QuickSort „Argument
ist nicht optional“.

*gg*

Du hast Die Deklaration für das Array ‚Feld()‘ vergessen.

Über die erste Prozedur musst Du schreiben:

Dim Feld() As String

Gruß Rainer

Hallo Rainer,

habe alles versucht, auch Die Deklaration für das Array, aber die Fehlermeldung bei QuickSort bleibt. Hab Dir nochmal den code per Mail gesendet, seufz…

Gruss Gerd

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Gerd,

habe alles versucht, auch Die Deklaration für das Array, aber
die Fehlermeldung bei QuickSort bleibt. Hab Dir nochmal den
code per Mail gesendet, seufz…

Du hast den Code zu früh gestartet, die Liste mit den Pfaden, auf die ich warte, ist doch noch nicht da. Ich hätte eventuell nicht vorgreifen sollen und Code schreiben, der Daten erwartet, die wir noch nicht haben.
Ohne die kann der Code noch nicht ohne Fehler laufen.

Ich warte auf deine Abfrage, die die 46 Pfade liefert.

Gruß Rainer

Hallo Rainer,

du meinst die 46 Filenamen…
Die Abfrage nennt sich Q_allusers, meinst du die?

Gruss Gerd

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Gerd,

du meinst die 46 Filenamen…
Die Abfrage nennt sich Q_allusers, meinst du die?

davon den SQL-String, ja. Also wieder in Access die Ansicht SQL aufrufen und kopieren, was da steht. Dann geht es weiter und Dein Programm ist fast fertig.

Gruß Rainer