collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 37
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 14260
  • stats Beiträge insgesamt: 69801
  • stats Themen insgesamt: 9391
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Dateien suchen und Auflisten  (Gelesen 1819 mal)

Offline MaxP

  • Access-User
  • *
  • Beiträge: 77
Dateien suchen und Auflisten
« am: Januar 04, 2019, 15:10:13 »
Hallo zusammen,

ich möchte gerne über einen Formular-Button bestimmte Dateien (*.snp) auf Windowsebene (Win 7) auflisten, die in Projektordnern enthalten sind, dessen Name nur teilweise an Access übergeben werden kann.

Es liegt folgende Form vor:
LW:\Hauptordner\Projektbezeichnung\Unterordner\Dateiname.snp

LW:\Hauptordner und der Unterordner können als Konstante festgelegt werden.
Die Projektbezeichnung besteht aus der eindeutigen Projektnummer (kann ausgelesen werden) und einem indiv. Projektnamen (Access nicht bekannt)
Der Dateiname besteht aus der Projektnummer, einer definierten Unternummer und einer lauf. Nr.

Am einfachsten stelle ich mir einen Filedialog vor.
Ich habe es mit FollowHyperlink versucht, was allerdings wegen des * nicht funzt. Habe es auch mit Dir() probiert, aber es auch nicht hinbekommen.

Ich hoffe, es gibt eine relativ einfache Möglichkeit, da mein VBA-Wissen doch sehr beschränkt ist.

Gruß
Max
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23577
Re: Dateien suchen und Auflisten
« Antwort #1 am: Januar 04, 2019, 15:38:35 »
Hallo,

was willst Du genau machen?

die Daten "auflisten" z. B. mit einem Listenfeld, die in den Verzeichnissen "Projektbezeichnung" mit seine Unterordnern enthalten sind
oder jeweils eine snp-Datei (Access-Snapshot-Datei ??)  auswählen und öffnen?

Hierbei stellt sich die Frage, welche Access-Version Du verwendest.

Wenn " Projektbezeichnung" nicht vollständig bekannt ist, sollte
der/die Projektnamen aus diesen Verzeichnissen extrahiert und in einer Tabelle hinterlegt (z. B. mit der Dir-Funktion in einer Schleife)  oder anderweitig Access "bekanntgegeben" werden
oder mittels Filedialog mit Init-Verzeichnis "LW:\Hauptordner" auswählbar gemacht werden.


 



Offline MaxP

  • Access-User
  • *
  • Beiträge: 77
Re: Dateien suchen und Auflisten
« Antwort #2 am: Januar 04, 2019, 15:53:50 »
Hallo Franz,

ich arbeite mit A03 und es geht um Access-Snapshot-Dateien.

Ich möchte Berichte als snp-Dateien mit einer laufenden Nr. abspeichern. Um vorher zu wissen, welche Nummern bereits vergeben sind, möchte ich mir vor dem Speichern/ Exportieren der SNP-Datei die bereits vergebenen Dateinamen mit Nummern anzeigen lassen, da die Nummer vorher über eine Parameterabfrage abgefragt wird und im Bericht wieder auftaucht.
Es käme evtl. auch ein Listenfeld in Frage. Einen Listeneintrag auswählen brauche ich nicht.

Wenn " Projektbezeichnung" nicht vollständig bekannt ist, sollte
der/die Projektnamen aus diesen Verzeichnissen extrahiert und in einer Tabelle hinterlegt (z. B. mit der Dir-Funktion in einer Schleife)  oder anderweitig Access "bekanntgegeben" werden
oder mittels Filedialog mit Init-Verzeichnis "LW:\Hauptordner" auswählbar gemacht werden.
Das stelle ich mir dagegen schon recht schwierig vor.

Gruß
Max
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23577
Re: Dateien suchen und Auflisten
« Antwort #3 am: Januar 04, 2019, 16:44:48 »
Hallo,


Zitat
da die Nummer vorher über eine Parameterabfrage abgefragt wird und im Bericht wieder auftaucht.

Hier würde ich am Konzept etwas ändern und anstatt der Parameterabfrage (Parameterfenster??)  die neue laufende Nr aus einer Tabelle berechnen, die dort von der vorhergehenden   Ausgabe der snp-Datei abgespeichert wird.


Zudem ist es sinnvoll, den gesamten DateiPfadname der snp-Datei in einer Tabelle mitzuführen. Dann erübrigt sich das permanente Scannen der Verzeichnisse und das Berechnen der LfdNr aus den abgelegten Dateien. (Dateinamen).

Zeige mal das Format des Dateinamens.


Das scannen der Verzeichnisse könnte so gehen:

Function fktScanProjektbezeichnung()

Dim strProBez As String, strProNummer As String
Const strHOrdner As String = "LW:\Hauptordner"
strProNummer = "Projekt"
strProBez = Dir(strHOrdner & "\" & strProNummer & "*", vbDirectory)
Do

    Debug.Print strProBez
    strProBez = Dir()
Loop Until strProBez = ""
End Function

Offline MaxP

  • Access-User
  • *
  • Beiträge: 77
Re: Dateien suchen und Auflisten
« Antwort #4 am: Januar 04, 2019, 17:10:57 »
Hallo Franz,

der Dateiname lautet z.B. 18121213-02-s03.snp, wobei die 8-stellige Zahl sich aus Monat+Jahr+4-stellige, lauf. Projektbr zusammensetzt (kann ausgelesen werden). "02" ist die Nr. des Unterordners (wird vorgegeben). "S" steht für Schreiben. "03" ist die besagte lauf. Nr. des Dokuments.

Zitat
Zudem ist es sinnvoll, den gesamten DateiPfadname der snp-Datei in einer Tabelle mitzuführen. Dann erübrigt sich das permanente Scannen der Verzeichnisse und das Berechnen der LfdNr aus den abgelegten Dateien. (Dateinamen).
Ist das als Alternative zu der Beschreibung in deinem 1. Abschnitt und dem beigefügten Code gemeint?

Wie sieht die Berechnung der lauf. Nr. bei der ersten Datei aus?

Werde deinen Code jetzt ausprobieren.

Gruß
Max

 

Offline MaxP

  • Access-User
  • *
  • Beiträge: 77
Re: Dateien suchen und Auflisten
« Antwort #5 am: Januar 04, 2019, 17:16:54 »
kleine Zwischenfrage...

Wo genau binde ich deine Funktion ein? Unter Module?
Und wie rufe ich die Funktion dann auf?
 

Offline MaxP

  • Access-User
  • *
  • Beiträge: 77
Re: Dateien suchen und Auflisten
« Antwort #6 am: Januar 04, 2019, 18:16:35 »
Nachdem ich die Funktion unter Modul gespeichert , die Variablen ersetzt und noch den Unterordner untergebracht habe, habe ich die Funktion mit call aufgerufen. Es gab in beiden Zeilen Fehlermeldungen:

strProNummer = Format(Formulare![SV-Verwaltung-neu]![Auftragsdatum], "yymm") & Formulare![SV-Verwaltung-neu]![BV-Nr]

strProBez = Dir(strHOrdner & "\" & strProNummer & "*02-BH", vbDirectory)

Gebe ich in der 1. Zeile eine "starre" Projektnummer an und belasse es bei der 2. Zeile bei deinem Code, funktioniert es, jedoch wird nur ein Verzeichnis genannt, da sich im Projektordner nur Unterordner (01-..., 02-..., etc.) befinden.

Soweit ich weiß kann Dir() nicht in Unterordnern suchen. Also müsste der Unterordner in "strProBez" ebenfalls genannt werden (s. Code.). Aber das will AC nicht. (Dateiname oder -nummer falsch!)

Gruß
Max
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23577
Re: Dateien suchen und Auflisten
« Antwort #7 am: Januar 05, 2019, 10:09:43 »
Hallo,

mein Tipp war so gemeint, als dass die Rekonstruktion von Dateinamen aus den Windows-Ordnern und damit das ganze VBA-Gedöns entfällt.


Die nichtssagende laufende Nr könnte durch z. B. eine Timestamp-Angabe (mit passender Auflösung , tagesgenau, stundengenau usw.) ersetzt werden.


Zum Fehler:   VBA versteht nur deutsch insofern muss es "FormS" statt "Formulare" heißen.  Zudem sollten solche Referenzen vermieden werden, indem die Funktion mit Argumenten ausgestattet wird, an die die aktuellen Werte beim Aufruf als Parameter übergeben werden.

Zitat
...& "*02-BH", ...

ist auch nicht zielführend, weil entspr. Deiner Beschreibung nur ein Ordner gefunden wird, der eh schon namentlich bekannt ist.

Es stimmt , dass Dir keine Unterordner beim Durchlaufen mit einbezieht. Das bedeutet, dass mit einem weiteren separaten Scan ein gefundener Projektordner auf seine Unterordner durchsucht werden muss.

Offline MaxP

  • Access-User
  • *
  • Beiträge: 77
Re: Dateien suchen und Auflisten
« Antwort #8 am: Januar 07, 2019, 12:21:57 »
Hallo,

Zitat
mein Tipp war so gemeint, als dass die Rekonstruktion von Dateinamen aus den Windows-Ordnern und damit das ganze VBA-Gedöns entfällt.
wäre schön, aber kapiere ich nicht, was Du damit meinst.

Zitat
Die nichtssagende laufende Nr könnte durch z. B. eine Timestamp-Angabe (mit passender Auflösung , tagesgenau, stundengenau usw.) ersetzt werden.
Die Nr, die hinter dem Projektbezeichnung und der Unterkat-Nr steht ist eindeutig und vor allem kurz, so dass der Dateiname z.B. im Anschreiben (über Bericht) relativ kurz und noch einprägsam ist.

Aber die Sache mit dem Unterordner (z.B. 02-BH) ist Pflicht, weil sich nur dort die zu suchenden Dateien befinden!

Da offentlich
strProBez = Dir(strHOrdner & "\" & strProNummer & "*" & strUOrdner, vbDirectory)
nicht funzt, müsste entweder was ganz anderes her bzw. ein 2. Dir-Aufruf?

Gruß
Max

 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 2041
Re: Dateien suchen und Auflisten
« Antwort #9 am: Januar 07, 2019, 15:55:18 »
Hallo Max,
Zitat
müsste entweder was ganz anderes her
Ja, das FileDialog-Objekt (siehe OH).
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 
Folgende Mitglieder bedankten sich: MaxP

Offline MaxP

  • Access-User
  • *
  • Beiträge: 77
Re: Dateien suchen und Auflisten
« Antwort #10 am: Januar 08, 2019, 12:35:40 »
Hallo,

danke für Eure Hilfe!

Ich habe nun ein kombinierte Lösung für mein Problem gefunden:

Zuerst wende ich die Dir-Funktion an, um den kompletten Projekt-Namen (Teilpfad) zu ermitteln, den ich in einer Variablen speichere.

Danach habe ich das FileDialog-Objekt angewendet und mir den gewünschten Pfad als Standardpfad zusammen gebaut. Die gefilterten Snp-Dateien werden nun im Dialogfenster von Win 7 vor der Erstellung des Berichts angezeigt. Perfekt!

Gruß
Max
 

 

Suche in großen Dateien

Begonnen von LexboroBoard Access Programmierung

Antworten: 1
Aufrufe: 2160
Letzter Beitrag Juli 22, 2010, 18:40:36
von Lexboro
Access Backup Dateien

Begonnen von OptiplexBoard Access-Hilfe

Antworten: 22
Aufrufe: 15874
Letzter Beitrag Januar 01, 2011, 15:37:20
von database
Anzal von Dateien anzeigen

Begonnen von thorstens1304Board Formular

Antworten: 1
Aufrufe: 2320
Letzter Beitrag Dezember 17, 2010, 09:10:08
von database
Dateien per VBA löschen

Begonnen von thorstens1304Board Access Programmierung

Antworten: 1
Aufrufe: 1834
Letzter Beitrag Dezember 27, 2010, 14:50:32
von Hondo
Wie durchsucht Access mehere Excel Dateien nach einem Wert?

Begonnen von Jonas333Board Access-Hilfe

Antworten: 1
Aufrufe: 2801
Letzter Beitrag Juli 26, 2011, 18:13:36
von DF6GL