Ich möchte aus einem Formular heraus eine, einem Datensatz zugeordnete Text-Datei öffnen.
Kann ich den Pfad der Text-Datei in ein Textfeld eintragen und dann mit einem Button diese Text-Datei aufrufen/öffnen???
grundsätzlich: JA! Kein Problem! Die Frage ist nur, wie’s dann weitergehen soll.
Willst Du aus der Datei lesen?
Private Sub ÖffnenButton\_Click()
Dim ZeileAusTextDatei As String
Open Textbox1 For Input As #1
Do While Not EOF(1)
Line Input #1, ZeileAusTextDatei
MsgBox ZeileAusTextDatei
Loop
Close #1
End Sub
Darin schreiben?
Private Sub SchreibenButton\_Click()
Open Textbox1 For Append As #1
Print #1, "neue Zeile in Datei"
Print #1, "noch eine neue Zeile in Datei"
Close #1
End Sub
Hier kannst Du statt „print“ auch „Write“ nehmen, wenn das Ergebnis in „“-Zeichen stehen soll. „Append“ hängt Daten an eine Datei an, stattdessen kann man auch „output“ nehmen, dann wird die Datei überschrieben!
Einfach mal ein bischen experimentieren und vielleicht die Frage etwas genauer stellen.
wobei „C:\WINNT“ der Pfad ist, in dem NOTEPAD.EXE liegt und „ME.PfadEinstellung“ das Textfeld in Deinem Formular ist, wo der Pfad und der Dateiname (z. B. C:\Texte\Protokoll.Txt) eingetragen wird.
Da das Feld PfadEinstellung einen String liefern soll, werden die Gänsefüßchen gleich mit eingetragen (""" & Me.PfadEinstellung & „“").
3x " sieht blöd aus, ist aber nötig, da 1x " als String behandelt wird und deshalb selbst in Gänsefüßchen eingebunden werden muß.
gruss
moritzbock
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
vielen Dank für deine Antwort. Hier noch zur Vervollständigung:
In einem Textfeld „txt_Konfigdatei“ ist der Pfadname einer Text-Datei „Beispiel.txt“ eingetragen. In dieser Datei stehen Konfiguratuionsdaten zum jeweiligen Gerät.
Diese Datei soll auch nur angezeigt werden. Es soll nichts in ihr verändert werden.
Mit Hilfe eines Buttons „cmd_Konfigdatei“ soll die entsprechende Text-Datei geöffnet werden.
Ist es auch möglich, den Pfad der Text-Datei mit Hilfe des Explorers in das Textfeld zu übernehmen, also z.Bsp.:
Button „cmd_Dateiauswahl“ => öffnet Explorer
Text-Datei auswählen => wird in Textfeld „txt_Konfigdatei“ übernommen
Button „cmd_Konfigdatei“ => Text-Datei wird geöffnet
Würde mir wirklich sehr weiterhelfen, da noch ziemlicher Access-Anfänger.
Funktioniert das auch, dass ich mit einem Button „cmd_Verzeichnis“ den Explorer öffne, die entsprechende Text-Datei auswähle und diese dann in das Textfeld „txt_Konfigdatei“ geschrieben wird??
Falls du einen Tip hast…
Gruß
Walter
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Dann kannst Du dort im Explorer den Dateinamen 2x anklicken (kein Doppelklick!) und, wenn der Name dunkel markiert ist mit STRG+C in die Zwischenablage kopieren und in Dein Feld mit STRG+V einfügen.
Aber autom. den Dateinamen kopieren - da bin ich jetzt überfragt.
gruss
moritzbock
Danke moritzbock - funktioniert jetzt prima.
Vielleicht auch an dich noch eine Zusatzfrage:
Funktioniert das auch, dass ich mit einem Button
„cmd_Verzeichnis“ den Explorer öffne, die entsprechende
Text-Datei auswähle und diese dann in das Textfeld
„txt_Konfigdatei“ geschrieben wird??
was Du brauchst, ist ein sog. „CommonDialogControl“. Es stellt Dir einen Standard-Windows-Dialog für „Datei öffnen“ usw. zur Verfügung. Das geht dann so:
Zuerst musst Du das Steuerelement in Deine Toolbox einbauen. Dazu klickst Du im Entwurfsmodus des Formulars in der Symbolleiste „Toolbox“ auf das Icon „Weitere Steuerelemente“.
Wähle dort das „Microsoft Common Dialog Control“ aus und setze es in Dein Formular. Das Ding trägt dann den Namen „ActiveXStr0“ oder so. Benenn’ es besser um in „CommonDialog“.
Dann erstellst Du Dir einen Button „Durchsuchen…“ und nennst ihn „DurchsuchenCmd“. Die Textbox heisst in meinem Beispiel „PfadTxt“.
Dann der Code für den Button:
Private Sub DurchsuchenCmd\_Click()
With CommonDialog
.Flags = cdlOFNHideReadOnly
.Filter = "(\*.txt)|\*.txt"
.ShowOpen
PfadTxt = .FileName
End With
End Sub
So müsste es gehen; ich schick Dir das Beispiel per eMail zu…