Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Aktuellen Datensatz eines Formulars als Textdatei ausgeben





Frage

Hi, folgende Ausgangssituation in einer ACC2000 DB. ich habe ein Formular mit einem Unterformular. Im Unterformular sind Details zum Hauptformular eingetragen. Das HF ist aus Tabelle 1 erstellt Felder im HF: HFa HFb HFc HFxy Das UF ist aus Tabelle 2 erstellt und über Feld xy verknüpft. Felder im UF UFa UFb UFxy wobei hier mehrere Datensätze möglich sind. Im Prinzip ähnlich einer Ansprechpartnerliste - eine Firma (im HF) kann mehrere AP (im UF) haben. Nun soll per Druck auf einen Button im Formular der Datensatz in eine Text-Datei (nicht .doc) geschrieben werden und danach diese Textdatei geöffnet werden. Sinnvoll wäre es noch, wenn ich zwischen den DS des UF in der Textdatei noch etwas "Freitext" mit integrieren könnte, der aber nicht in der Datenbank gespreichert ist, sondern vielleicht im Code eingearbeitet ist. Hat da einer der Codespezialisten was für mich parat ? Google hat nicht helfen, können. Habe noch nicht mal nen Ansatz. viele Grüße

Antwort 1 von Springmaus

Sinnvoll wäre es noch, wenn ich zwischen den DS des UF in der Textdatei noch etwas "Freitext" mit integrieren könnte, der aber nicht in der Datenbank gespreichert ist, sondern vielleicht im Code eingearbeitet ist.

Das verstehe ich überhaupt nicht, was Du damit meinst. In der Datenbank speichern kann man Properties. Im Code einarbeiten kannste festen Text, aber welchen Sinn das machen soll, das entzieht sich meiner Kenntnis.

Den Datensatz in eine Textdatei zu importieren ist auch kein Problem, das kannste mit DoCmd.TransferText acExportDelim, blablabla.......

Die Textdatei dann öffnen ist auch kein Problem, aber wenn Du mal näher erklärst was Du vorhast, könnte man vielleicht etwas sinnvoller vorgehen?

Gruß Marie

Antwort 2 von hannes1965de

Hallo Springmaus,

danke für deine Antwort. Also ich hab mir das so gedacht.

Der Dateiname soll sich zusammensetzen aus Tabelle 1 Spalte A mit endung txt - der Datensatz des HF heisst zb. Max - also heisst die Ausgabedatei Max.txt.

Als Inhalt der Ausgabe Datei soll sich aus dem Inhalt vom UF - also Tabelle 2 - ergeben.

wenn im HF Max angezeigt wird und im UF dazu noch Name 1, Name 2, Name 3 - bis Name 8, soll im Text es etwa so aussehen.


abc
Name 1
abc
Name 2
abc
Name 3
abc
Name 4
usw.

das hier eingefügte "abc" ist der Freitext, den ich meinte.

Ich hoffe, dass ich etwas Licht ins Dunkel bringen konnte.

viele Grüße

Antwort 3 von hannes1965de

Hallo nochmal,

hab jetzt nach langer Suche diesen Code gefunden, funktioniert auch soweit, aber ich habs noch nicht geschafft, dass er mir nur die in Tabelle 2 zu Tabelle 1 gehörenden DS exportiert.

In der bisherigen Form exportiert er alle DS der Tabelle für das UF.

Ausserdem öffnet er die Ausgabedatei nicht automatisch.

Was muss ich noch anpassen ??

Danke noch mal

'=====================================================
' Auf CD     Buchdaten\Beispiele\Kap10
' Dateiname  Umfeld.mdb
' Modul      mdlTXT
'=====================================================

Sub TabelleAlsTextdateiSpeichern()
Dim DBS As New ADODB.Recordset
Dim strZeile As String
Dim intz As Integer

On Error GoTo fehler
DBS.Open "Artikel", CurrentProject.Connection
Open "C:\Eigene Dateien\Artikel.csv" For Output As #1
intz = 0

Do Until DBS.EOF
 strZeile = strZeile & DBS!Artikelname & ";" & _
 DBS!Liefereinheit & ";" & DBS!Einzelpreis & ";" & _
 DBS!Mindestbestand & ";" & DBS!Lagerbestand & ";" & _
 DBS!BestellteEinheiten
 DBS.MoveNext
 Print #1, strZeile
 intz = intz + 1
 strZeile = ""
Loop

Close #1
 MsgBox "Transfer beendet! Es wurden " & intz _
& " Sätze übertragen!"
DBS.Close
Exit Sub


fehler:
 MsgBox Err.Number & " " & Err.Description
End Sub


Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: