Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: zoulhh am Oktober 19, 2023, 12:03:53

Titel: Export bestimmter Felder nach Excel via VBA
Beitrag von: zoulhh am Oktober 19, 2023, 12:03:53
Moin zusammen,

ist es möglich Daten nach Excel zu exportieren, wobei der Nutzer entscheidet, welche Felder exportiert werden?

Beispiel: Access Tabelle hat die Felder "Vorname", "Nachname", "Telefon", "Geburtsort"

Der Nutzer soll nun Daten in eine Excel Tabelle exportieren können, aber selber entscheiden, welche das sind. So möchte er beispielsweise nur "Vorname" und "Geburtsort" exportieren.

Geht so etwas?

Tausend Dank im voraus.

Mick
Titel: Re: Export bestimmter Felder nach Excel via VBA
Beitrag von: Beaker s.a. am Oktober 19, 2023, 12:44:22
Hallo Mick,

Erstelle ein Listfeld mit dem Herkunftstyp "Feldliste" und Mehrfachauswahl.
Dann kannst mit einer Schleife durch die ausgewählten (SelectedItems) Felder
laufen und dabei eine Abfrage zusammensetzen, die du dann nach Excel exportieren
kannst.

gruss ekkehard
Titel: Re: Export bestimmter Felder nach Excel via VBA
Beitrag von: zoulhh am Oktober 19, 2023, 15:25:41
Moin Ekkehard,

vielen Dank. Das ist ein guter Ansatz. Könntest Du mir sagen, wie so eine Schleife aussieht? Nur ein kleines Beispiel wäre total nett.

Vielen, vielen Dank.

Mick
Titel: Re: Export bestimmter Felder nach Excel via VBA
Beitrag von: Beaker s.a. am Oktober 20, 2023, 18:21:25
Dim varItem As Variant
For Each varItem In Me.DeineListe.ItemsSelected
   'Mach was mit dem Wert einer beliebigen Spalte
Next
Schau auch in der OH nach dieser Eigenschaft von Listfeldern.
Titel: Re: Export bestimmter Felder nach Excel via VBA
Beitrag von: zoulhh am Oktober 20, 2023, 19:16:05
Danke für Deine Antwort. Wie ich die Listenfelder auslese weiss ich. Nur nicht, wie ich per VBA daraus eine Abfrage erzeuge. Bisher hatte ich nur Abfragen angelegt und daraus eine Excel Tabelle erzeugt. Das ist zu unflexibel. So etwa:

DoCmd.OutputTo acOutputQuery, "Meine_Abfrage", acFormatXLSX, "g:\public\meineliste.xlsx"
Ich weiss nur nicht, wie ich diese Abfrage per VBA erstelle.

LG

Mick
Titel: Re: Export bestimmter Felder nach Excel via VBA
Beitrag von: Beaker s.a. am Oktober 21, 2023, 11:38:49
Erstelle in der Schleife eine kommagetrennte Feldliste und setze
damit einen kompletten SQL-String zusammen.
sSQL = "SELECT " & sFelder & " FROM DeineTabelle"
'wenn benötigt noch WHERE-Klausel dranhängen
Damit ersetzt du in der (schon gespeicherten) Abfrage den vorhandenen
SQL-String durch den neuen
qdf.SQL = sSQLAlle Variablen und Objekte natürlich vorher deklarieren und initialisieren.
Was auch immer hilfreich sein kann ist das Betätigen der Taste F1.