Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Daten aus einem Unterformular nach Excel
Gehe zu Seite 1, 2, 3, 4  Weiter
zurück: Dateipfad in Textfeld oder Tabelle speichern weiter: Treeview gibt Fullpath nur teilweise an. Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
jens_kahl
Neuling


Verfasst am:
10. Jan 2009, 17:51
Rufname:

Daten aus einem Unterformular nach Excel - Daten aus einem Unterformular nach Excel

Nach oben
       Version: (keine Angabe möglich)

Hallo,

für die Erstellung einer Rechnung per Excel nutze ich zur Zeit Acces. Aus eimem Hauptformular werden die gewünschten Daten nach Excel übertragen. Funktioniert und läuft super.
Nun wäre es optimal, wenn man die in Access gespeicherten Rechnungspositionen auch als Positionen nach Excel exportieren könnte. Die Rechnungspositionsdaten sind in einem Unterformular gespeichert.

Wie kann ich per VBA es ermöglichen, dass die einzelne Felder eines jeden Datensatzes (=Rechnungsposition) , die sich im Unterformular befinden, nach Excel exportiert werden. Je nach Rechnung können es 2- 5 Positionen sein.

Wie schon gesagt, das Übertragen einzelner Felder aus dem Hauptformular in bestimmte Felder in ein Excelfeld sind kein Problem. Ich weiß nur nicht, wie ich per VBA X Datensätze abfrage und diese jeweils in eine "neue" Zeile bei Excel geschrieben werden.
trekking
Im Profil kannst Du frei den Rang ändern


Verfasst am:
11. Jan 2009, 08:43
Rufname:


AW: Daten aus einem Unterformular nach Excel - AW: Daten aus einem Unterformular nach Excel

Nach oben
       Version: (keine Angabe möglich)

Schau mal ob dir das Beispiel AccSampleAccessToExcel.zip hilft

Was mich allerdings sehr wundert, ist dass du Excel zum Rechnungserstellung benutzt. Warum machst du das nicht mit einem Bericht? Rechnungen sind doch in aller Regel nicht so hoch mathematisch, dass ich dafür Excel brauche.

Viele Grüße

trekking
jens_kahl
Neuling


Verfasst am:
11. Jan 2009, 15:49
Rufname:

AW: Daten aus einem Unterformular nach Excel - AW: Daten aus einem Unterformular nach Excel

Nach oben
       Version: (keine Angabe möglich)

jens_kahl am 11. Jan 2009 um 14:23 hat folgendes geschrieben:
Hallo,

werde mir die Datei anschauen. Benötige Excel, da noch andere Änderungen an der Rechnung durchgeführt werden. Melden mich, ob es klappt.

Hallo,

leider ist diese Lösung nicht ganz das Richtige (oder zu kompleziert für mich).

Ich benötige einen VBA Code mit dem ich aus dem Unterformular die ersten fünf Datensätze in bestimmte Zelle nach Excel bekomme. Eine Notlösungg wäre es, wenn ich im Hauptformular fünf Felder anlege, diese dann mit einem VBA Coden (welcher und wie?) mit den Daten aus dem Unterformulare fülle und dann über den schon funktionierenden Code in Excel einfüge. Mein Problem liegt darin, dass ich Daten aus eimem (dem ersten Datensatz im Unterformular) ins Hauptformular kopiert bekomme, wie frage ich aber die Daten der anderen Datensätze (DS 2.-5. im Unterformular) ab.

Die Lösung mit dem Umweg über das Hauptformular finde ich aber etwas gestückelt und unflexibel.

Hat jemand eine Lösung, die ein VBA - Anfänger auch versteht? Ein Code mit Erklärungen?
steffen0815
VBA-Programmierer


Verfasst am:
11. Jan 2009, 18:09
Rufname:

AW: Daten aus einem Unterformular nach Excel - AW: Daten aus einem Unterformular nach Excel

Nach oben
       Version: (keine Angabe möglich)

Hallo,
ist nachfolgender Code einfach genug Smile :
Code:
Option Compare Database
Option Explicit

Private Sub Exportieren_Click()
    Dim rs As DAO.Recordset ' !!Verweis auf Microsoft DAO x.x setzen !!
    Dim xlApp As Object, xlWB As Object, xlSheet As Object ' Excel Objekte
   
    Set rs = Me!uForm.Form.RecordsetClone ' Daten des UForms
    Set xlApp = CreateObject("Excel.Application") ' Excel Instanz
    xlApp.Visible = True ' Sichtbar schalten
    Set xlWB = xlApp.Workbooks.Add ' Neues Workbook anlegen
    Set xlSheet = xlWB.Sheets(1) ' Erstes Tabellenblatt setzen
    xlSheet.cells(2, 2).CopyFromRecordset rs ' Accessdaten in (ab) B2 schreiben
End Sub

_________________
Gruß Steffen
frank1973
Nicht ganz unwissend


Verfasst am:
11. Jan 2009, 18:58
Rufname:
Wohnort: Schwäbisch Gmünd


AW: Daten aus einem Unterformular nach Excel - AW: Daten aus einem Unterformular nach Excel

Nach oben
       Version: (keine Angabe möglich)

Hallo Steffen,

sowas habe ich auch gesucht, funktioniert perfekt.
Allerding übergibt er alle Werte des Unterformulars.

Wie müsste man den Code umschreiben um nur bestimmt Felder zu übergeben bei mir wäre es aus dem Unterformular: Supplier_name / Part_no / Length / Width / Thickness

alle anderen Felder sollen nicht übergeben werden wie kann ich nur diese Felder dem Excel Sheet zuweisen.

Vielen Dank vorab für deine (euere) Hilfe.

Gruß
Frank
Willi Wipp
Moderator


Verfasst am:
11. Jan 2009, 21:15
Rufname:
Wohnort: Raum Wiesbaden

Re: Daten aus einem Unterformular nach Excel - Re: Daten aus einem Unterformular nach Excel

Nach oben
       Version: (keine Angabe möglich)

Hi jens_kahl,

dann verwende am einfachsten eine entsprechend eingeschraenkte Abfrage fuer die Erstellung des Recordsets!

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
siegpes
Im Profil kannst Du frei den Rang ändern


Verfasst am:
12. Jan 2009, 10:54
Rufname:

AW: Daten aus einem Unterformular nach Excel - AW: Daten aus einem Unterformular nach Excel

Nach oben
       Version: (keine Angabe möglich)

Hallo!
Funktioniert super danke.
Wie kann man auch die Spaltennamen mitausgeben?

danke im vorraus

lg siegpes
steffen0815
VBA-Programmierer


Verfasst am:
12. Jan 2009, 11:59
Rufname:

AW: Daten aus einem Unterformular nach Excel - AW: Daten aus einem Unterformular nach Excel

Nach oben
       Version: (keine Angabe möglich)

Hallo siegpes,
Zitat:
Wie kann man auch die Spaltennamen mitausgeben?
Versuche mal was in der Art:
Code:
    Dim fld As DAO.Field, s AS Integer
    ' ....
        s = 1
        For Each fld In rs.Fields
            xlSheet.Cells(1, s) = fld.Name
            s = s + 1
        Next fld
    ' ....

_________________
Gruß Steffen


Zuletzt bearbeitet von steffen0815 am 12. Jan 2009, 14:21, insgesamt einmal bearbeitet
Gast



Verfasst am:
12. Jan 2009, 13:09
Rufname:

AW: Daten aus einem Unterformular nach Excel - AW: Daten aus einem Unterformular nach Excel

Nach oben
       Version: (keine Angabe möglich)

Hallo
Danke für deine Antwort
aber da mache isch glaube was falsch
Code:
    Dim rs As DAO.Recordset ' !!Verweis auf Microsoft DAO x.x setzen !!
    Dim xlApp As Object, xlWB As Object, xlSheet As Object ' Excel Objekte
    Dim fld As dao.Field, s As Integer
   
    For Each fld In rs.Fields
        xlSheet.Cells(1, s) = fld.Name
        s = s + 1
    Next fld
    Set rs = Me!F_LISTE_UFO.Form.RecordsetClone ' Daten des UForms
    Set xlApp = CreateObject("Excel.Application") ' Excel Instanz
    xlApp.Visible = True ' Sichtbar schalten
    Set xlWB = xlApp.Workbooks.Add ' Neues Workbook anlegen
    Set xlSheet = xlWB.Sheets(1) ' Erstes Tabellenblatt setzen
    xlSheet.Cells(2, 1).CopyFromRecordset rs ' Accessdaten in (ab) B2 schreiben
    'xlSheet.Cells(1, s) = fld.Name
    For Each fld In rs.Fields
        xlSheet.Cells(1, s) = fld.Name
        s = s + 1
    Next fld

lg siegpes
steffen0815
VBA-Programmierer


Verfasst am:
12. Jan 2009, 14:20
Rufname:

AW: Daten aus einem Unterformular nach Excel - AW: Daten aus einem Unterformular nach Excel

Nach oben
       Version: (keine Angabe möglich)

Hallo,
du musst den Code natürlich nach dem :
Code:
    Set xlSheet = xlWB.Sheets(1)
einfügen.
Außerdem wundert mich, das "dao" klein geschrieben ist Confused . Hast du den Verweis gesetzt?

_________________
Gruß Steffen
Gast



Verfasst am:
12. Jan 2009, 15:02
Rufname:

AW: Daten aus einem Unterformular nach Excel - AW: Daten aus einem Unterformular nach Excel

Nach oben
       Version: (keine Angabe möglich)

Hallo,

der Verweis ist aktiviert
er bleibt stehen bei
Code:
    xlSheet.Cells(1, s) = fld.Name
Meldung: Objekt fehlt!

lg siegpes
Gast



Verfasst am:
12. Jan 2009, 15:49
Rufname:

AW: Daten aus einem Unterformular nach Excel - AW: Daten aus einem Unterformular nach Excel

Nach oben
       Version: (keine Angabe möglich)

Hallo,
zeig mal bitte deinen kompletten Code.

Gruß Steffen
Gast



Verfasst am:
12. Jan 2009, 15:56
Rufname:

AW: Daten aus einem Unterformular nach Excel - AW: Daten aus einem Unterformular nach Excel

Nach oben
       Version: (keine Angabe möglich)

Code:
    Dim rs As DAO.Recordset        ' !!Verweis auf Microsoft DAO x.x setzen !!
    Dim xlApp As Object, xlWB As Object, xlSheet As Object     ' Excel Objekte
    Dim fld As DAO.Field, s As Integer
   
    Set rs = Me!F_LISTE_UFO.Form.RecordsetClone             ' Daten des UForms
    Set xlApp = CreateObject("Excel.Application")              ' Excel Instanz
    xlApp.Visible = True                                   ' Sichtbar schalten
    Set xlWB = xlApp.Workbooks.Add                    ' Neues Workbook anlegen
    Set xlSheet = xlWB.Sheets(1)                 ' Erstes Tabellenblatt setzen
    For Each fld In rs.Fields
        xlSheet.Cells(1, s) = fld.Name
        s = s + 1
    Next fld
    xlSheet.Cells(2, 1).CopyFromRecordset rs
                                            ' Accessdaten in (ab) B2 schreiben
Gast



Verfasst am:
12. Jan 2009, 16:55
Rufname:

AW: Daten aus einem Unterformular nach Excel - AW: Daten aus einem Unterformular nach Excel

Nach oben
       Version: (keine Angabe möglich)

Hallo,
ich hatte den Code oben noch mal angepasst, das hast du nicht eingearbeitet:
Code:
    s = 1
also:
Code:
' ...
    Set xlApp = CreateObject("Excel.Application")              ' Excel Instanz
    xlApp.Visible = True                                   ' Sichtbar schalten
    Set xlWB = xlApp.Workbooks.Add                    ' Neues Workbook anlegen
    Set xlSheet = xlWB.Sheets(1)                 ' Erstes Tabellenblatt setzen
    s = 1
    For Each fld In rs.Fields
        xlSheet.Cells(1, s) = fld.Name
        s = s + 1
    Next fld
    xlSheet.Cells(2, 1).CopyFromRecordset rs
' ...

Gruß Steffen
frank1973
Nicht ganz unwissend


Verfasst am:
13. Jan 2009, 08:39
Rufname:
Wohnort: Schwäbisch Gmünd


AW: Daten aus einem Unterformular nach Excel - AW: Daten aus einem Unterformular nach Excel

Nach oben
       Version: (keine Angabe möglich)

Hallo,

vielleicht kann mir jemand mit dem Code helfen ob dieser so i.O. ist besonderes Augenmerk sollte auf die Formatierung und den Export gesetzt werden.
Er funktioniert, aber Vielleicht gibt es da noch Verbesserungsmöglichkeiten.

Danke schon für euere Hilfe und Vorschläge.
Code:
Private Sub Excel_export_Click()
    Dim rs As DAO.Recordset ' !!Verweis auf Microsoft DAO x.x setzen !!
    Dim i As Long
    Dim xlApp As Object, xlWB As Object, xlSheet As Object ' Excel Objekte
   
    Set rs = Me!ufrmAll_Parts.Form.RecordsetClone ' Daten des UForms
    Set xlApp = CreateObject("Excel.application") ' Excel Instanz
    xlApp.Visible = True ' Sichtbar schalten
    Set xlWB = xlApp.Workbooks.Add ' Neues Workbook anlegen
    Set xlSheet = xlWB.Sheets(1) ' Erstes Tabellenblatt setzen
    'Benenung Spalten im Excel Sheet
    xlSheet.Cells(4, 1) = "Supplier"
    xlSheet.Cells(4, 2) = "Part no."
    xlSheet.Cells(4, 3) = "Length"
    xlSheet.Cells(4, 4) = "Width"
    xlSheet.Cells(4, 5) = "Thickness"
    ' Export zu Excel
    If Not rs.EOF Then
        rs.MoveFirst
        Do Until rs.EOF
            xlSheet.Cells(5 + i, 1) = rs!Supplier_name
            xlSheet.Cells(5 + i, 2) = rs!Part_no
            xlSheet.Cells(5 + i, 3) = rs!Length
            xlSheet.Cells(5 + i, 4) = rs!Width
            xlSheet.Cells(5 + i, 5) = rs!Thickness
            xlSheet.Cells(5 + i, 3).NumberFormat = "#,###0.000 ""mm"""
            xlSheet.Cells(5 + i, 4).NumberFormat = "#,###0.000 ""mm"""
            xlSheet.Cells(5 + i, 5).NumberFormat = "#,###0.000 ""mm"""
            i = i + 1
            ' Formatierung des Excel Sheets
            Range("A4:E4").Select
            With Selection
                .HorizontalAlignment = xlCenter
                .VerticalAlignment = xlBottom
                .WrapText = False
                .Orientation = 0
                .AddIndent = False
                .IndentLevel = 0
                .ShrinkToFit = False
                .ReadingOrder = xlContext
                .MergeCells = False
            End With
            Columns("A:E").Select
            Columns("A:E").EntireColumn.AutoFit
            rs.MoveNext
        Loop
    End If
    Set rs = Nothing
End Sub
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2, 3, 4  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 4
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Wichtige frage zur eingabe von daten (ohne nervige Meldunge) 2 Mod 573 18. März 2005, 11:05
Gast Wichtige frage zur eingabe von daten (ohne nervige Meldunge)
Keine neuen Beiträge Access Tabellen & Abfragen: Parameterabfrage in Unterformular 2 kassandra 1210 09. März 2005, 11:15
kassandra Parameterabfrage in Unterformular
Keine neuen Beiträge Access Tabellen & Abfragen: Daten auf Tabellen aufteilen 2 mightymagic 869 08. März 2005, 16:56
Gast Daten auf Tabellen aufteilen
Keine neuen Beiträge Access Tabellen & Abfragen: Unterformular aktualisieren ?? Häh?? 1 blicki 980 07. März 2005, 23:11
der_Volkmann Unterformular aktualisieren ?? Häh??
Keine neuen Beiträge Access Tabellen & Abfragen: Daten abfragen nach Buchstabenreihenfolge 2 wrengers 699 07. März 2005, 22:59
Gast Daten abfragen nach Buchstabenreihenfolge
Keine neuen Beiträge Access Tabellen & Abfragen: Summieren von gruppierten Daten 3 Thomas Theurer 1202 27. Jan 2005, 17:36
mapet Summieren von gruppierten Daten
Keine neuen Beiträge Access Tabellen & Abfragen: Rechnung erstellen wenn alle Daten vorhanden 6 Freddy 1909 25. Nov 2004, 11:03
Freddy Rechnung erstellen wenn alle Daten vorhanden
Keine neuen Beiträge Access Tabellen & Abfragen: Daten Trennen 4 Oliver.Giertz 1194 02. Sep 2004, 13:05
Oliver.Giertz Daten Trennen
Keine neuen Beiträge Access Tabellen & Abfragen: Daten aus Zwischenablage anhängen 5 Elhana 1077 30. Aug 2004, 13:00
Pusteblume Daten aus Zwischenablage anhängen
Keine neuen Beiträge Access Tabellen & Abfragen: Daten suchen in ACCESS. Daten aus Tabellen suchen! 7 Gast 2093 26. Aug 2004, 13:55
Gast Daten suchen in ACCESS. Daten aus Tabellen suchen!
Keine neuen Beiträge Access Tabellen & Abfragen: Filtern von Daten in Kombinationsfeld 1 Schmaro73 869 21. Aug 2004, 23:14
stpimi Filtern von Daten in Kombinationsfeld
Keine neuen Beiträge Access Tabellen & Abfragen: logische Zuordnung der Daten / Beziehung 0 DEAthWiNg 991 14. Jul 2004, 22:07
DEAthWiNg logische Zuordnung der Daten / Beziehung
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Dreamweaver Forum