Access Daten in bestimmtes Excel Feld ausgeben
Wie kann ich einen DS in Access per Button in ein bestimmtes Feld in einer Excel Datei einfügen?
Tag zusammen
Ich habe ein Formular in Access (frm_Hauptfehlermeldung).
Nun soll per Button der aktuelle DS in bestimmte Felder einer Excel Datei eingefügt werden.
Also z.B. :
Fehler1 --nach--> B3
Fehler2 --nach--> C2
usw.
Geht das? Und wenn ja, wie?
Lg Valume
Tag zusammen
Ich habe ein Formular in Access (frm_Hauptfehlermeldung).
Nun soll per Button der aktuelle DS in bestimmte Felder einer Excel Datei eingefügt werden.
Also z.B. :
Fehler1 --nach--> B3
Fehler2 --nach--> C2
usw.
Geht das? Und wenn ja, wie?
Lg Valume
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 131219
Url: https://administrator.de/contentid/131219
Ausgedruckt am: 25.11.2024 um 14:11 Uhr
12 Kommentare
Neuester Kommentar
Ja geht. Such mal nach "CreateObject" in der Officehilfe. Da ist AFAIK auch ein Codebeispiel.
Ansonsten wär es für eine Antwort nicht schlecht zu wissen welche Versionen Du ......................
Ansonsten wär es für eine Antwort nicht schlecht zu wissen welche Versionen Du ......................
Ich schau nachher mal ob ich was finde.
Excel ist auch 2003? Tabelle/Mappe soll neu angelegt werden oder besteht schon?
Excel ist auch 2003? Tabelle/Mappe soll neu angelegt werden oder besteht schon?
Hier der leicht abgeänderte Code aus der Hilfe
Dim xlAnw As Excel.Application
Dim xlBuch As Excel.Workbook
Dim xlArbBlatt As Excel.WorkSheet
Set xlAnw = CreateObject("Excel.Application")
Set xlBuch = xlAnw.Workbooks.Open("c:\dest.xls") 'Die Excel-Datei öffnen
Set xlArbBlatt = xlBuch.Worksheets(1) 'erstes Sheet
xlArbBlatt.Range("A1").Value = "Test" 'In Zelle A1 einen Wert eintragen
xlBuch.Save
xlAnw.Quit
Set xlBuch = Nothing
Set xlArbBlatt = Nothing
Set xlAnw = Nothing
Edit: Du musst unter ->Extras-> Verweise im VBA-Editor ein Hacken bei Mircrosoft Excel Object library (oder so ähnlich) machen
Dim xlAnw As Excel.Application
Dim xlBuch As Excel.Workbook
Dim xlArbBlatt As Excel.WorkSheet
Set xlAnw = CreateObject("Excel.Application")
Set xlBuch = xlAnw.Workbooks.Open("c:\dest.xls") 'Die Excel-Datei öffnen
Set xlArbBlatt = xlBuch.Worksheets(1) 'erstes Sheet
xlArbBlatt.Range("A1").Value = "Test" 'In Zelle A1 einen Wert eintragen
xlBuch.Save
xlAnw.Quit
Set xlBuch = Nothing
Set xlArbBlatt = Nothing
Set xlAnw = Nothing
Edit: Du musst unter ->Extras-> Verweise im VBA-Editor ein Hacken bei Mircrosoft Excel Object library (oder so ähnlich) machen
Erstell Dir ein Recordset-objekt, fülle es mit Daten und benutze die copyFromRecordset-Methode um die Daten einzufügen.
Hier ein paar Beispielzeilen (aus einem Excel-Makro) was die Daten aus einer Access97-DB holt
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.ConnectionString = "Data Source=\\Server\Datenbank.mdb"
cn.Open
strSQL = "SELECT * from Blablabla"
With rs
.CursorType = adOpenDynamic
.LockType = adLockPessimistic
.CursorLocation = adUseClient
.Open strSQL, cn
End With
Cells(4, 1).CopyFromRecordset rs
Hier ein paar Beispielzeilen (aus einem Excel-Makro) was die Daten aus einer Access97-DB holt
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.ConnectionString = "Data Source=\\Server\Datenbank.mdb"
cn.Open
strSQL = "SELECT * from Blablabla"
With rs
.CursorType = adOpenDynamic
.LockType = adLockPessimistic
.CursorLocation = adUseClient
.Open strSQL, cn
End With
Cells(4, 1).CopyFromRecordset rs
Hallo,
ich versuchs mal auf die Schnelle, da grade wenig Zeit.
Du hast Dir in Access VBA ja schon ein Recordset erstellt. Nun einfügen mit der "copyFromRecordset". Ist eine Methode vom (Excel)-Range Objekt. Kannst Du via Access über den Verweis "Microsoft Excel libary" zugänglich machen (s.o)
Dim xlAnw As Excel.Application
Dim xlBuch As Excel.Workbook
Dim xlArbBlatt As Excel.WorkSheet
Set xlAnw = CreateObject("Excel.Application")
Set xlBuch = xlAnw.Workbooks.Open("c:\dest.xls") 'Die Excel-Datei öffnen
Set xlArbBlatt = xlBuch.Worksheets(1) 'erstes Sheet
xlArbBlatt.Range("A1").CopyFromRecordset rs
ich versuchs mal auf die Schnelle, da grade wenig Zeit.
Du hast Dir in Access VBA ja schon ein Recordset erstellt. Nun einfügen mit der "copyFromRecordset". Ist eine Methode vom (Excel)-Range Objekt. Kannst Du via Access über den Verweis "Microsoft Excel libary" zugänglich machen (s.o)
Dim xlAnw As Excel.Application
Dim xlBuch As Excel.Workbook
Dim xlArbBlatt As Excel.WorkSheet
Set xlAnw = CreateObject("Excel.Application")
Set xlBuch = xlAnw.Workbooks.Open("c:\dest.xls") 'Die Excel-Datei öffnen
Set xlArbBlatt = xlBuch.Worksheets(1) 'erstes Sheet
xlArbBlatt.Range("A1").CopyFromRecordset rs