AW: Listen in Excel zusammenführen
01.05.2007 06:07:00
Oberschlumpf
Hi Geri
Wenn ich dich richtig verstanden habe, dann willst du direkt aus verschiedenen Access-Datenbanken das Ergebnis einer Abfrage in Excel eintragen.
- die Daten sollen in Excel einfach angehängt werden
- es ist egal, ob doppelte Eintragungen vorhanden sind
- die Abfrage hat in allen Access-Datenbanken den gleichen Namen
Dann versuch es mal mit diesem Makro:
Sub AbfrageStart()
Dim loZeile As Long, lstrDB As String, lbMsg As Byte
loZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
If ActiveSheet.Range("A1").Value = "" Then loZeile = 1
lstrDB = Application.GetOpenFilename("Text Files (*.mdb), *.txt", , "Wählen Sie eine _
Datenbank", "Test")
If lstrDB = "Falsch" Then Exit Sub
With ActiveSheet.QueryTables.Add(Connection:=Array( _
"OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=" & _
lstrDB & ";", _
"Mode=Share Deny Write;Extended Properties="""";Jet OLEDB:System database="""";Jet _
OLEDB:Registry Path="""";Jet OLEDB:Database Pa" _
, _
"ssword="""";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global _
Partial Bulk Ops=2;Jet OLEDB:Global Bulk Tr" _
, _
"ansactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database= _
False;Jet OLEDB:Encrypt Database=False;Jet OLED" _
, _
"B:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False; _
Jet OLEDB:SFP=False" _
), Destination:=Range("A" & loZeile))
.CommandType = xlCmdTable
.CommandText = Array("Tabelle1 Abfrage") '
Korrigiere die Zeile
.CommandText...
mit den richtigen Eintragungen
Konnte ich helfen?
Ciao
Thorsten