Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Micharius am August 30, 2017, 09:29:07

Titel: Auf Knopfdruck Textexport aktueller Datensatz
Beitrag von: Micharius am August 30, 2017, 09:29:07
Hallo zusammen

Nach dem Ratschlag von Lachtaube aus Beitrag http://www.access-o-mania.de/forum/index.php?topic=22516.msg131605#msg131605 (http://www.access-o-mania.de/forum/index.php?topic=22516.msg131605#msg131605) und der Einsicht, dass Word tatsächlich auch ohne Änderungen in Access bei Seriendrucken blocken kann, habe ich nun eine andere Lösung umgesetzt.
Aus einem Formular wird per Klick auf einen Button eine Abfrage als Textfile exportiert:

Private Sub Befehl896_Click()
DoCmd.TransferText acExportDelim, , "qryProAngebot", "C:\IT\Access\export_angebot.csv", True
MsgBox "Daten wurden exportiert"
End Sub


Das klappt super, die Worddatei greift bei jedem Benutzer auf die CSV zu, kein blockieren mehr. Als Sahnehäubchen wäre es natürlich toll, wenn nicht immer die ganze Abfrage und somit alle Datensätze exportiert würden, sondern nur derjenige Datensatz, welcher im Formular gerade aktiv ist. Das verwendete Formular basiert zwar auf einer anderen Abfrage, das Feld ProID kommt aber in beiden Abfragen vor und liesse sich zur Identifikation des Datensatz verwenden.

Kann man den Code entsprechend anpassen, oder ist das sehr kompliziert? Über einen Tipp würde ich mich freuen.

Sonnige Grüsse

Micharius
Titel: Re: Auf Knopfdruck Textexport aktueller Datensatz
Beitrag von: Beaker s.a. am August 30, 2017, 12:13:53
Musst halt die Abfrage entsprechend filtern.
... WHERE KundenNr = Forms!DeinFormular!KundenNr ...
Titel: Re: Auf Knopfdruck Textexport aktueller Datensatz
Beitrag von: Micharius am August 30, 2017, 13:19:05
Besten Dank für die rasche Frage. Jedoch blöde Frage, wo im Code müsste ich den Filter setzen - etwa so?

Private Sub Befehl896_Click()
DoCmd.TransferText acExportDelim, , "qryProAngebot WHERE KundenNr = Forms!DeinFormular!KundenNr", "C:\IT\Access\export_angebot.csv", True
MsgBox "Daten wurden exportiert"
End Sub


Gruss

Micharius
Titel: Re: Auf Knopfdruck Textexport aktueller Datensatz
Beitrag von: Beaker s.a. am August 30, 2017, 13:57:14
Hallo Micharius,
ZitatMusst halt die Abfrage entsprechend filtern.
Soll heissen, dass du die Abfrage "qryProAngebot" als solche ändern musst.
D.h. du musst die WHERE-Klausel darin aufnehmen.
gruss ekkehard
Titel: Re: Auf Knopfdruck Textexport aktueller Datensatz
Beitrag von: Lachtaube am August 30, 2017, 14:02:44
Einen Formular-Parameter müsstest Du in der Abfrage fest verdrahten. Bei nicht geöffnetem Formular bzw. bei fehlender KundenNr würden dann wieder alle Datensätze ausgegeben werden. Ist das nicht erwünscht, Text ab OR... löschen.
SELECT FeldA, FeldB, ...
FROM   TabellenName
WHERE  KundenNr = Forms!DeinFormularName!KundenNrFeldname OR
       Forms!DeinFormularName!KundenNrFeldname Is Null;
Titel: Re: Auf Knopfdruck Textexport aktueller Datensatz
Beitrag von: Micharius am August 31, 2017, 08:54:59
Sehr cool, Lachtaube - genau so klappt es - vielen herzlichen Dank!
Ich war natürlich wieder einmal auf dem falschen Dampfer. Dachte, ich müsste das im Formular bzw. Code selber definieren, statt in der zugrunde liegenden Abfrage...
Titel: Re: Auf Knopfdruck Textexport aktueller Datensatz
Beitrag von: Lachtaube am August 31, 2017, 09:50:26
ekkehard gebührt der Dank, denn er hat darauf hingewiesen - ich habe nur seinen Vorschlag erläutert. :)