Daten von access in excel formatieren

hallo leute!

und zwar folgendes ich möchte daten, die ich aus 2 tabellen in meiner controlling.mdb beziehe, in excel formatieren, jedoch den code in vb in access erstellen. Tabellen sind AP_STAMM und AP_Gruppen, dabei fassen die AP_Gruppen mehrere AP_STAMM Daten zusammen
z.B.:
AP_Gruppe: Testen
die dazugehörigen Arbeitspakete im AP_STAMM wären: Testen von xyz, Testen von abc usw.

Tabellenaufbau:

AP_STAMM - Attribute:
APG_ID (AP_Gruppe ID)
AP_ID
AP_Beschreibung

AP_Gruppen - Attribute:
APG_ID
APG_Beschreibung

ich stell mir das wahrscheinlich zu einfach vor, aber gibt es vielleicht so eine ähnliche lösung wie ich es mir vorstelle:

WHILE (solang bis keine Arbeitspaketgruppen mehr existieren)
Excel.Cells(X1,Y1) = "SELECT APG_Beschreibung FROM APG_ID WHERE APG_ID=Zählvariable + 1 'Ausgabe der Gruppe

WHILE (solang bis keine Arbeitspakete mehr existieren)
Excel.Cells(X1,X zählvariable2 +1) = "SELECT AP_Beschreibung FROM AP_STAMM WHERE APG_ID=Zählvariable 'Ausgabe der Arbeitspakete zu der übergeordneten Gruppe

ich bedanke mich im vorfeld für euer bemühen

lg sabrina

Hallo, Sabrina!

ich stell mir das wahrscheinlich zu einfach vor, aber gibt es
vielleicht so eine ähnliche lösung wie ich es mir vorstelle:

Nö, nicht wirklich:

Sub ExportNachExcel()
 Dim dbMdb As Database
 Dim recGruppen As Recordset
 Dim recPakete As Recordset

 Dim appExcel As New Excel.Application
 Dim wbDatei As Workbook
 Dim wsAusgabe As Worksheet
 Dim lngZeile As Long
 Dim lngSpalte As Long

 ' Excel-Datei anlegen
 Set wbDatei = appExcel.Workbooks.Add
 ' Ausgabe in erstes Sheet
 Set wsAusgabe = wbDatei.Worksheets(1)
 ' Start in erster Zeile
 lngZeile = 1

 Set dbMdb = CurrentDb
 Set recGruppen = dbMdb.OpenRecordset("select \* from AP\_Gruppe order by APG\_Beschreibung")
 ' alle Gruppen durchgehen
 Do While Not recGruppen.EOF
 ' Beschreibung der Gruppe in erste Spalte schreiben
 wsAusgabe.Cells(lngZeile, 1) = recGruppen("APG\_Beschreibung")
 ' Ausgabe der Pakete ab Spalte 2 in der gleichen Zeile
 lngSpalte = 2
 ' alle Pakete der Gruppe auslesen
 Set recPakete = dbMdb.OpenRecordset("select \* from AP\_STAMM where APG\_ID=" & recGruppen("APG\_ID"))
 Do While Not recPakete.EOF
 ' Paket in zweite Spalte schreiben
 wsAusgabe.Cells(lngZeile, lngSpalte) = recPakete("AP\_Beschreibung")
 ' nächste Spalte für Pakete
 lngSpalte = lngSpalte + 1
 recPakete.MoveNext
 Loop
 ' und nächste Gruppe...
 recGruppen.MoveNext
 ' ... in nächster Zeile
 lngZeile = lngZeile + 1
 Loop

 ' Excel-Datei speichern
 wbDatei.SaveAs "C:\Temp\DeineDatei.xls"
 appExcel.Quit

End Sub

Ist nicht wirklich fehlerrobust/-tolerant, schreibt auch immer nur in eine festverdrahtete Datei, aber das zu verschönern kann folgen… Wichtig: Du musst im VB-Editor unter „Extras“-„Verweise“ Microsoft Excel hinzufügen.

Das obige schreibt Dir dann Zeile für Zeile in die erste Spalte die Gruppenbeschreibung und in die folgenden die Paketbeschreibungen…

Gruß, Manfred