Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Export bestimmter Felder nach Excel via VBA

Begonnen von zoulhh, Oktober 19, 2023, 12:03:53

⏪ vorheriges - nächstes ⏩

zoulhh

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
  •  

Beaker s.a.

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
--
Frauen aller Länder vereinigt euch! Wir brauchen eine Wiedergeburt des Matriarchats.
Und schickt den Papst in die Wüste! Da kann er 40 Tage auf God(o)t warten.
  •  

zoulhh

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
  •  

Beaker s.a.

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.
--
Frauen aller Länder vereinigt euch! Wir brauchen eine Wiedergeburt des Matriarchats.
Und schickt den Papst in die Wüste! Da kann er 40 Tage auf God(o)t warten.
  •  

zoulhh

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
  •  

Beaker s.a.

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.
--
Frauen aller Länder vereinigt euch! Wir brauchen eine Wiedergeburt des Matriarchats.
Und schickt den Papst in die Wüste! Da kann er 40 Tage auf God(o)t warten.
  •