Access Export einzelner Datensätze aus Formular

  • Access

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Stefan.

    Access Export einzelner Datensätze aus Formular

    Hallo Zusammen,

    ich versuche mich gerade an meiner ersten Access-Datenbank. Leider komme ich an einer Stelle nicht weiter.

    Ich habe eine Datenbank mit einer Tabelle, in die Daten eingegeben werden. Eine Abfrage wertet diese Daten aus.

    Ich habe für den Export der Daten in eine Excel-Datei ein Formular erstellt, welches die Daten aus der Abfrage holt (siehe Bild).

    Nun möchte ich in diesem Formular einzelne Zeilen irgendwie markieren und per Button-Click exportieren.
    Bisher sieht mein Code für den Export so aus:

    Visual Basic-Quellcode

    1. Option Compare Database
    2. Private Sub Befehl13_Click()
    3. 'Definition einer Datums-Variable für den Dateinamen der Excel-Datei:
    4. Dim Datumzeitstempel As String
    5. Datumzeitstempel = Year(Date) & "_" & Format(Month(Date), "00") & "_" & Format(Day(Date), "00") & "__" & Format(Time, "hh#mm#ss")
    6. 'Definition des Namens der Excel-Datei:
    7. sFilename = "\\ .... \Lieferschein_" & Datumzeitstempel & ".xlsx"
    8. 'Export des gesamten Formular-Inhaltes:
    9. DoCmd.OutputTo acOutputForm, "EXPORT-Maske", acFormatXLSX, sFilename, Autostart:=False
    10. End Sub

    Das funktioniert auch soweit prima. Nur wie kann ich es machen, daß nur einzeln auszuwählende Zeilen exportiert werden?
    (Über ExterneDaten >> Excel-Export geht das ja, ich möchte es aber lieber über meinen Button machen, wegen dem Dateinamen und der einfachereren Bedienbarkeit)

    Vielen Dank schon mal und liebe Grüße,

    Stefan

    CodeTags gesetzt ~VaporiZed
    Bilder
    • Bild.jpg

      148 kB, 1.529×505, 98 mal angesehen

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „VaporiZed“ ()

    Wie kommst Du an die Daten im Formular? Was ist die Datenquelle?

    Ich mache den Import so:

    Visual Basic-Quellcode

    1. Dim db As DAO.Database
    2. Dim qry As QueryDef
    3. ...
    4. strSQL = "SELECT * FROM Tabelle WHERE Jahr=2022"
    5. Set db = CurrentDb
    6. Set qry = db.CreateQueryDef("Export", strSQL)
    7. db.QueryDefs.Refresh
    8. DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "Export", sFilename, True
    9. DoCmd.DeleteObject acQuery, "Export"
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).
    Hallo,

    die Daten werden über ein Eingabe-Formular (oder direkt in die Tabelle mit den Daten) eingegeben.

    Über eine Abfrage findet dann eine Auswertung statt.

    Über das Ausgabe-Formular (welches auf die Daten der Abfrage zugreift) möchte ich die Daten dann exportieren.

    Soweit funktioniert das alles ja auch.

    Ich suche nun aber noch eine Möglichkeit, in dem Ausgabe-Formular einzelne Datensätze zu markieren, so daß nur diese markierten Datensätze exportiert werden.
    Meines Wissens kann man nur immer einen Datensatz auswählen.

    Entweder Du hast einen Filter oder Du schaust Dir mal diesen Ansatz an: learn.microsoft.com/en-us/answ…-or-some-row-of-reco.html
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).