Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
904to908
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
904to908
904to908
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

access import nach excel

access import nach excel
07.09.2007 11:20:00
Sebastian
Hallo,
ich will Daten aus Access in Excel importieren
mein code sieht so aus:

Sub ImportAccess()
Dim objConnection As ADODB.Connection
Dim objRecSet As ADODB.Recordset
'Verbindung
Set objConnection = New ADODB.Connection
Set objRecSet = New ADODB.Recordset
'Datenbank öffnen
objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test.mdb;"
'Daten nach Excel übertragen
With objRecSet
objRecSet.Open "gesamt", objConnection, adOpenKeyset, adLockOptimistic
Data.[A1].CopyFromRecordset objRecSet
End With
'Verbindung schließen
objRecSet.Close
objConnection.Close
'Verweise freigeben
Set objRecSet = Nothing
Set objConnection = Nothing
MsgBox "Übertragung beendet"
End Sub


Bekomme aber "Laufzeitfehler 424: Objekt erforderlich"

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: access import nach excel
07.09.2007 11:36:25
Renee
Hi Sebastian,
Bekomme aber "Laufzeitfehler 424: Objekt erforderlich"
Ist doch schön, wenn man was bekommt, oder nicht ? Wo ?
Diese Zeile ist mir suspeckt Data.[A1].CopyFromRecordset objRecSet, was willst Du damit?
Zudem: Warum machst Du nicht eine simple Abfrage, wenn Du die eh die ganze Table in Excel einlesen willst?
Greetz Renee

AW: access import nach excel
07.09.2007 12:50:58
Sebastian
Data.[A1].CopyFromRecordset objRecSet
genau da bekomme ich das bei der zeile

AW: access import nach excel
07.09.2007 13:06:32
Stephan
Hi Sebastian,
wie wär es mit activesheet.range("A1").CopyFromRecordset objRecSet ?
Gruß,
Stephan

Anzeige
AW: access import nach excel
07.09.2007 14:48:53
Gert
Hallo Sebastian,
wenn Du zu Beginn eine "neue_AccessDatei" mit "ADODB" erstellst, kann man nicht beim "Datei öffnen"
eine "Jet_4.0_mdb" (=DAO_mdb) ansprechen. Es sollte hier eine "ADO_2.1_mdb" angesprochen werden.
Eine andere Möglichkeit besteht von Access aus mit DATEI --->EXTERNE DATEN --->IMPORTIEREN
oder "Tabellen verknüpfen" (MDB_2003).
Oder "Access" "EXTRAS" --->"Office Verknüpfungen" --->"Analysieren mit MS Office Excel"(Access2003).
Schau Dir mal die "AccessBeispieldatei" "NORDWIND" an.
mfg
Gert

AW: access import nach excel
08.09.2007 08:43:00
Luschi
Hallo Renee,
da Microsoft wieder mal nur was für die Oberfläche und XML gemacht hat (Office 2007), blieb keine Zeit, Abfragen auf Datenbanken zu modernisieren. Die QueryTable-Methode benutzt immer noch die ODBC-Schnittstelle, anstatt endlich mal auf ADODB umzustellen. Diese Schnittstelle hat MS extra für das Zusammenspiel von Access und SQL-Server mit Office 2000 eingeführt, aber Excel bleibt dabei außen vor.
Wenn man mit Excel eine DB-Abfrage zu einem richtigen Datenbank-Server macht (Oracle, MS-SQL-Server, Informix), dann schickt der Server auch nur die Daten über das Netz zurück, die von Ecxel angefordert wurden. Passiert das selbe aber mit Access, dann schickt die Access-Stand-Alone-DB alle Daten der verknüpften Tabellen zurück und Excel muß die Where-Klausel des Statements selbst auswerten.
Wenn die Access-DB auf 1 Netzlaufwerk liegt, dann kommen mehr Daten über die Netzverbindung, als hinterher in der Exceltabelle zu sehen sind, weil Excel die nichtbrauchbaren Datensätze verwirft.
Hier wäre wirklich Handlungsbedarf gewesen, anstatt den Schönheitswahn zu fröhnen.
Deshalb benutze ich bei der Zusammenarbeit von Excel und Access ADODB/ADOX. Der Clou dabei ist, daß von Excel aus mit Hilfe von ADOX in Access eine SQL-Abfrage erzeugt wird, die den SQL-Text einschließlich der Where-Klausel enthält. Und Excel schickt dann nur noch ein Select-Statement mit Bezug auf diese Access-Abfrage.
Wie das in der Praxis aussieht, ist in diesem Gesamt-Thread nachzulesen mit Beispieldateien.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: access import nach excel
10.09.2007 09:46:00
Sebastian
Hallo,
habs jetzt geschafft
so:

Worksheets("data").Activate
ActiveSheet.Range("A1").CopyFromRecordset objRecSet


Hab jetzt noch eine Frage. der kopiert alle Daten korrekt. Nur der kopiert mir die feldnamen nicht mit. Ich möcht gerne in der 1 Reihe die ganzen Feldnamen der tabelle haben. Geht das irgendwie?

AW: access import nach excel
10.09.2007 23:18:00
Luschi
Hallo Sebastian,
dies macht man so:

For i = 0 To 5    'im Recordset objRecSet gibt es 6! Felder
'Feldnamen des RecordSets als Überschriften schreiben
ActiveSheet.Range(Chr(65 + i) & 1).Value = Rs.Fields(i).Name
Next i
ActiveSheet.Range("A2").CopyFromRecordset objRecSet


Gruß von Luschi
aus klein-Paris
PS: Schau Dir mal diesen Gesamt-Thread an. Da habe ich einem User ein Beispiel gemacht für das Holen von Daten aus 1 Access-DB mit einer Where-Klausel (Bedingung)
http://www.spotlight.de/zforen/mse/m/mse-1187798005-4721.html

Anzeige
kleine Fehler-Korrektur
11.09.2007 08:50:00
Luschi
Hallo Sebastian,
so ist es richtig:

For i = 0 To 5    'im Recordset objRecSet gibt es 6! Felder
'Feldnamen des RecordSets als Überschriften schreiben
ActiveSheet.Range(Chr(65 + i) & 1).Value = objRecSet.Fields(i).Name
Next i
ActiveSheet.Range("A2").CopyFromRecordset objRecSet

Gruß von Luschi
aus klein-Paris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige