Access-Datensatz (Listbox) in Excel einfuegen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
ListBox


Excel-Version: 10.0 (Office XP)
nach unten

Betrifft: Access-Datensatz (Listbox) in Excel einfuegen
von: Christian Bender
Geschrieben am: 21.05.2002 - 21:18:55

Kann mir jemand helfen bei folgender Problemstellung:

Moechte in einem EXCEL-Blatt in einer/mehreren Spalten in Zelle “A” (also A1; A2; A3 …A10) Daten aus einer ACCESS Datenbank ueber Scroll-Liste aussuchen und den gewuenschten gesamten Datensatz in die Zelle A1 und folge Zellen dieser Reihe uebernehmen (kopieren).
In gleicher Weise moechte ich bei den darunteliegenden Zellen A2; A3 …A10 verfahren.
Hat jemand eine Idee wie dahinkomme?

Habe bei VBA nur Grundkenntnissen (Einfuehrungskurs) aber vor allem keine Erfahrung
Ich stelle mir folgendes vor:
-VBA-Programmierung
-offnen der Datenbank in Access
-Anzeige der Datensaetze ueber List-Scrollbox
-Auswahl des Datensatzes
-Einfuegen in die Zelle A1

Ich muss verschiedene Leistungen auswaehlen und dann in Excel die Preise aufsummieren. Es handelt sich hier um eine Datenbank Touristischer Leistungen, wie: Bus-Transfer vom Flughafen zur Stadt, Hotel, Fluege, etc.
Da es sich hier um mehr als 1000 Datensaetze handelt, wollte ich die Datenbank unter Access haben, die Preiskalkulation wegen der besseren und einfacheren Handhabung in Excel.

Kann mir jemand dabei helfen, eine Idee geben?
Dank im Voraus
Christian

nach oben   nach unten

Re: Access-Datensatz (Listbox) in Excel einfuegen
von: Karsten Müller
Geschrieben am: 23.05.2002 - 14:52:02

Hallo Christian
Es gibt sicher mehrere Möglichkeiten, aber ich würde es so machen:

Als erstes im Access - VB Editor unter Extras -> Verweise die "Microsoft Execl 10.0 (xp, 9.0 2000) Object Libary" auswählen, einfach den Haken setzen.
Das hat den Vorteil, das von Access per VBA direkt auf Excel zugegriffen werden kann.
Alles was jetzt kommt steht im Access VBA Editor

Dim XL As New Excel.Application (Excelobject deklarieren)
Dim XLSheet As Excel.Worksheet

XL.Visible = True (Excel = sichtbar)
XL.ScreenUpdating = True (Änderungen sichtbar)
XL.Workbooks.Open "C:\Mein_Verzeichnis\Meine_Vorlage.xlt" (Vorlagedatei wird geöffnet)
Set XLSheet = XL.ActiveWorkbook.Worksheets("Tabelle 1") (Tabellenblatt 1 wird ausgewählt)
XLSheet.Activate (Tabellenblatt 1 wird aktiv)

"XL.Workbooks.new" kann auch ein neues Tabellenblatt geöffnet werden

Mit XL wird immer Excel angesprochen
Mit XL. immer ein Steuerelement oder eine Eigenschaft/Methode

XL.Cells(zeile,Spalte) eine einzelne Zelle
XL.Range(XL.Cells(zeile,Spalte),XL.Cells(zeile,Spalte)) -> Bereich von mehreren Zellen
XL.Columns(Spalte) -> ganze Spalte
XL.Rows(zeile) -> ganze Zeile

Nachdem über dein List/Kombi - Feld ein datensatz ausgefählt wurde, sehe ich zwei möglichkeiten.
Entweder das Kombi-Feld enthält den kompletten Datensatz, dann kann dieser sofort in Excel übertragen werden. Auf die einzelnen Spalten des Kombifeldes kann mit Kombi.Column(n) zugegriffen werden beginnend mit 0.
Ansonsten ein Recordset erzeugen und dann die Werte in Excel eintragen.

Ich hoffe das hilft dir weiter

Gruß Karsten

nach oben   nach unten

Re: Access-Datensatz (Listbox) in Excel einfuegen
von: Christian Bender
Geschrieben am: 24.05.2002 - 16:38:03

Hallo Karsten,
Prima, werde es so versuchen und melde mich in den naechsten Tagen wieder.
Ersteinmal vielen Dank fuer die Hilfe und ein schoenes week-end
Christian


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Access-Datensatz (Listbox) in Excel einfuegen"