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
676to680
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
676to680
676to680
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA code zur Datenübertragung problem!!!

VBA code zur Datenübertragung problem!!!
10.10.2005 10:54:25
kerstin
hallo und guten morgen zusammen, ich bin wieder mit einem problem da , das letzte woche hier leider nicht gelöst werden konnte! ev. findet sich heute jem. der mir helfen kann!
also, ich möchte daten von access automatisiert nach excel bekommen.
ich nehme eine volle access DB habe nachfolgenden code in die VBA umgebung von excel geschrieben und den haken bei microsoft active x data objekts 2.8 library gesetzt!
und nun erhalte ich einen unbekanten laufzeitfehler bei in zeile 14 bei .open!
kann mir jem. sagen was ich falsch mache? hier der code:

Sub DBZugriff()
Dim cn As Connection
Dim rs As Recordset
Dim SQLString As String
Dim xx As Worksheet
Dim i As Integer, j As Integer
Set xx = Worksheets("Tabelle1")
Const DBPfad = "D:\Meinordner\db1.mdb"
'Die datenbank öffnen
Set cn = New ADODB.Connection
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"   'für Access 2000 und höher
.ConnectionString = "Data Source=" & DBPfad
.Open
End With
'Definieren was geholt werden soll - hier alles
SQLString = "SELECT* FROM Tabelle1" '
Set rs = New ADODB.Recordset
rs.Open SQLString, cn, adOpenDynamic, adLockReadOnly
'Die Feldnamen der Datenbanktabelle in die erste Zeile der Exceltabelle "Tabelle1" schreiben
For j = 0 To rs.Fields.Count - 1
xx.Cells(1, j + 1) = rs.Fields.Item(j).Name
Next
'Jetzt alle Sätze holen und in die Exceltabelle schreiben
i = 1
rs.MoveFirst
Do While rs.EOF = False
i = i + 1
For j = 0 To rs.Fields.Count - 1
If IsNull(rs.Fields.Item(j).Value) = False Then
xx.Cells(i, j + 1) = rs.Fields.Item(j).Value
End If
Next
rs.MoveNext
Loop
rs.Close
cn.Close
End Sub

danke für eure hilfe!!!

32
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA code zur Datenübertragung problem!!!
10.10.2005 11:16:56
ede
hallo kerstin,
so wie es aussieht hast du dein problem noch nicht gelöst.
kannst du die Quelle "D:\Meinordner\db1.mdb" mit Access öffnen?
laut deiner Fehlermeldung ist sie nicht vorhanden!
rückmeldung wäre nett
AW: VBA code zur Datenübertragung problem!!!
10.10.2005 11:31:39
kerstin
hallo ede! nein, leider nicht! deines konnte ich nicht öffnen :-((
lg kerstin
AW: VBA code zur Datenübertragung problem!!!
10.10.2005 11:38:58
ede
hallo kerstin,
konntest du nun die access-datenbank db1.mdb im Verzeichnis d:\Meinordner öffnen?
gruss
AW: VBA code zur Datenübertragung problem!!!
10.10.2005 11:32:10
Peter
Hallo Kerstin,
ich habe deinen Code (auf meine Gegebenheiten ein wenig angepasst) mit Erfolg laufen lassen.
Kann es sein, dass du die falsche Tabelle ims SQLString angegeben hast?
Heißt die Tabelle in Access, aus der du lesen willst, wirklich Tabelle1?
Ich habe den Verweis auf 2.0 Library gesetzt, eine Version 2.8 habe ich nicht.
Hier mein Code - der läuft in allen drei Varianten. D. h, alles, nur Hamburg und einzelne Felder aus meiner Access-Tabelle Adressen.


Option Explicit
'
'   Achtung der Verweis auf: Microsoft ActiveX Data Objects 2.0 Library
'   oder eine höhere Version (2.1, 2.5) muss aktiviert sein.
'
'   hier sollen lediglich Varianten des SELECT ausprobiert werden.
'   sie funktionieren alle, sind getestet.
'
Sub DBZugriff()
Dim Connect    As Connection
Dim RecSet     As Recordset
Dim SQLString  As String      ' der SQL Befehl
Dim Ziel       As Worksheet   ' Excel-Tabellenblatt
Dim Zeile      As Integer     ' Zeile
Dim Spalte     As Integer     ' Spalte
Dim DBPfad     As String      ' Pfad der Access-Anwendung
Dim DBDatei    As String      ' Name der Access-Datei bzw. DB
Dim DBTab      As String      ' Name der Access-Tabelle
   DBPfad = "C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Access-DBs\"
   DBDatei = "Adr-Feustel.mdb"
   DBTab = "Adressen"
       
   Set Ziel = Worksheets("Tabelle1")
   
'  Die Datenbank öffnen
   Set Connect = New ADODB.Connection
   With Connect
      .Provider = "Microsoft.Jet.OLEDB.4.0"   ' für Access 2000 und höhere
      .ConnectionString = "Data Source=" & DBPfad & DBDatei
      .Open
   End With
   
'  Definieren was geholt werden soll
'    hier alles - die komplette Access-Tabelle
   SQLString = "SELECT Adressen.* FROM Adressen" ' <-- Hier die Datenbanktabelle
'    hier nur die Hamburger aus der Access-Tabelle
   'SQLString = "SELECT Adressen.* FROM Adressen WHERE Adressen.Ort = ""Hamburg"""
'    hier nur ein paar Felder der Hamburger aus der Access-Tabelle
   'SQLString = "SELECT " & DBTab & ".Vorname, " _
                         & DBTab & ".Nachname, " _
                         & DBTab & ".TelefonPrivat " _
             & "FROM Adressen " _
             & "WHERE Adressen.Ort = ""Hamburg"""
 
   Set RecSet = New ADODB.Recordset
   RecSet.Open SQLString, Connect, adOpenDynamic, adLockReadOnly
   
   Application.ScreenUpdating = False
   
   Cells.ClearContents
'  Die Feldnamen der Datenbanktabelle in die erste Zeile des
'           Excel Ziel-Tabellenblattes schreiben
   For Spalte = 0 To RecSet.Fields.Count - 1
      Ziel.Cells(1, Spalte + 1) = RecSet.Fields.Item(Spalte).Name
   Next Spalte
   
'  Jetzt alle selektierten Sätze holen und in das Excel-Tabellenblatt schreiben
   Zeile = 1
   RecSet.MoveFirst
   
   Do While RecSet.EOF = False
      Zeile = Zeile + 1
      For Spalte = 0 To RecSet.Fields.Count - 1
         If IsNull(RecSet.Fields.Item(Spalte).Value) = False Then
            Ziel.Cells(Zeile, Spalte + 1) = RecSet.Fields.Item(Spalte).Value
            Ziel.Rows(Zeile & ":" & Zeile).RowHeight = 13.2
         End If
      Next Spalte
      RecSet.MoveNext
   Loop
   
   Cells.EntireColumn.AutoFit
   
   Application.ScreenUpdating = True
   
   RecSet.Close
   Connect.Close
   
End Sub


Viele Grüße Peter
Das Forum lebt auch von den Rückmeldungen.
Anzeige
AW: VBA code zur Datenübertragung problem!!!
10.10.2005 14:08:32
kerstin
hallo peter!
vielen dank für deine hilfe!
ja, die Tab. nannte ich so!
ich werde alles nochmal versuchen!
lg kerstin
an peter
10.10.2005 14:38:41
kerstin
hi peter!
also, ich habe es gerade mit dem original code versucht und es geht wieder nicht! den haken bei micr. actve x data wurde gesetzt!
findest du hier den fehler?
danke lg
kerstin

Sub DBZugriff()
Dim cn As Connection
Dim rs As Recordset
Dim SQLString As String
Dim xx As Worksheet
Dim i As Integer, j As Integer
Set xx = Worksheets("Archiv Datenbank.mdb")
Const DBPfad = "J:\Projects\Vertrieb\.... .... \Datenbank\Archiv Datenbank.mdb"
'Die datenbank öffnen
Set cn = New ADODB.Connection
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"   'für Access 2000 und höher
.ConnectionString = "Data Source=" & DBPfad
.Open
End With
'Definieren was geholt werden soll - hier alles
SQLString = "SELECT * FROM Archiv Datenbank.mdb" '
Set rs = New ADODB.Recordset
rs.Open SQLString, cn, adOpenDynamic, adLockReadOnly
'Die Feldnamen der Datenbanktabelle in die erste Zeile der Exceltabelle "Tabelle1" schreiben
For j = 0 To rs.Fields.Count - 1
xx.Cells(1, j + 1) = rs.Fields.Item(j).Name
Next
'Jetzt alle Sätze holen und in die Exceltabelle schreiben
i = 1
rs.MoveFirst
Do While rs.EOF = False
i = i + 1
For j = 0 To rs.Fields.Count - 1
If IsNull(rs.Fields.Item(j).Value) = False Then
xx.Cells(i, j + 1) = rs.Fields.Item(j).Value
End If
Next
rs.MoveNext
Loop
rs.Close
cn.Close
End Sub

Anzeige
AW: an peter
10.10.2005 16:04:25
Peter
Hallo Kerstin,
kannst du die angegebene Access Datenbank in Access problemlos öffnen?
Hast du das Makro schon einmal mit dem Debugger und Einzelschritt ablaufen lassen und dabei die einzelnen Variablen auf ihren Inhalt hin geprüft?
Wo genau bleibt das Makro bei dir hängen? Immer noch beim .Open?
Ich habe mit der von mir geposteten Version inzwischen diverse SQLString versucht und alle laufen einwandfrei.
Ich bin untröstlich, nicht weiterhelfen zu können!!!
Viele Grüße Peter
Das Forum lebt auch von den Rückmeldungen.
AW: an peter
10.10.2005 16:31:10
Peter
Hallo Kerstin,
ich habe mir eine Access Datenbank Archiv Datenbank.mdb nachgebaut, mit einer Tabelle1 darin, mit einer einzigen Spalte.
Deinen Code habe ich dafür (meinen Access-Ordner usw.) angepasst
UND ER LÄUFT in der beigefügten Version.


Sub DBZugriff_Kerstin()
Dim cn As Connection
Dim rs As Recordset
Dim SQLString As String
Dim xx As Worksheet
Dim As Integer, j As Integer
Dim DBPfad     As String      ' Pfad der Access-Anwendung
Dim DBDatei    As String      ' Name der Access-Datei bzw. DB
 
   DBPfad = "C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Access-DBs\"
   DBDatei = "Archiv Datenbank.mdb"
    
'Set xx = Worksheets("Archiv Datenbank.mdb")
Set xx = Worksheets("Tabelle2")
'Const DBPfad = "J:\Projects\Vertrieb\.... .... \Datenbank\Archiv Datenbank.mdb"
'Die datenbank öffnen
Set cn = New ADODB.Connection
With cn
'
    .Provider = "Microsoft.Jet.OLEDB.4.0"   'für Access 2000 und höher
    .ConnectionString = "Data Source=" & DBPfad & DBDatei
    .Open
End With
'Definieren was geholt werden soll - hier alles
SQLString = "SELECT Tabelle1.* FROM Tabelle1" '
Set rs = New ADODB.Recordset
rs.Open SQLString, cn, adOpenDynamic, adLockReadOnly
'Die Feldnamen der Datenbanktabelle in die erste Zeile der Exceltabelle "Tabelle1" schreiben
For j = 0 To rs.Fields.Count - 1
    xx.Cells(1, j + 1) = rs.Fields.Item(j).Name
Next
'Jetzt alle Sätze holen und in die Exceltabelle schreiben
i = 1
rs.MoveFirst
Do While rs.EOF = False
i = i + 1
For j = 0 To rs.Fields.Count - 1
    If IsNull(rs.Fields.Item(j).Value) = False Then
        xx.Cells(i, j + 1) = rs.Fields.Item(j).Value
    End If
Next
rs.MoveNext
Loop
rs.Close
cn.Close
End Sub


Viele Grüße Peter
Das Forum lebt auch von den Rückmeldungen.
Anzeige
AW: an peter!!!!!
11.10.2005 09:31:55
kerstin
hallo peter!
erstmals vielen vielen dank! bist du da? kann ich dich was fragen? lg kerstin
AW: an peter!!!!!
11.10.2005 09:48:22
Peter
Hallo und guten Morgen Kerstin,
ich bin da und du kannst fragen ....
Viele Grüße Peter
Das Forum lebt auch von den Rückmeldungen.
AW: an peter!!!!!
11.10.2005 10:11:26
kerstin
hi peter, das ist ja toll!
also nochmals danke für deine mühen!!!
ich glaube es hapert an :
'Set xx = Worksheets("Archiv Datenbank.mdb") hier gehört doch der name meiner Access datenbank hinein, wenn ich die ganze access datenbank in excel übertragen möchte, oder?
AW: an peter!!!!!
11.10.2005 10:18:10
kerstin
... nachtrag:
Set xx = Worksheets("Archiv Datenbank.mdb")
Const DBPfad = "J:\Projects\Vertrieb\EBY-S-IT-Projekt\Datenbank\Archiv Datenbank.mdb"
weil, im pfad wird doch das selbe auch wieder angegeben!
oder irr ich ?
lg kerstin
Anzeige
AW: an peter!!!!!
11.10.2005 10:20:56
Peter
Hej Kerstin,
Set xx Worksheets("Tabelle2") bezieht sich auf die Zieltabelle in deiner Excel-Mappe, nicht auf die Access Datenbank!
Wie geschrieben, mein ein wenig abgeändertes Makro lief (läuft) und bringt die Daten aus der mdb.
Viele Grüße Peter
Das Forum lebt auch von den Rückmeldungen.
AW: an peter!!!!!
11.10.2005 10:25:47
kerstin
hi peter,
nein nein, bei deinem code eine zeile drüber meinte ich !
hier nochmal meins. ich schreib daneben was ich meinte:

Sub DBZugriff()
Dim cn As Connection
Dim rs As Recordset
Dim SQLString As String
Dim xx As Worksheet
Dim i As Integer, j As Integer
Set xx = Worksheets("Archiv Datenbank.mdb")    MUSS ICH nicht hier den namen meiner access datenbank angeben?
Const DBPfad = "J:\Projects\Vertrieb\EBY-S-IT-Projekt\Datenbank\Archiv Datenbank.mdb"  UND hier auch wider? in diesem falle Archiv Datenbank.mdb
'Die datenbank öffnen
Set cn = New ADODB.Connection
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"   'für Access 2000 und höher
.ConnectionString = "Data Source=" & DBPfad
.Open
End With
'Definieren was geholt werden soll - hier alles
SQLString = "SELECT * FROM Archiv Datenbank.mdb" '  UND HIER wieder den namen meiner access datenbank
Set rs = New ADODB.Recordset
rs.Open SQLString, cn, adOpenDynamic, adLockReadOnly
'Die Feldnamen der Datenbanktabelle in die erste Zeile der Exceltabelle "Tabelle1" schreiben
For j = 0 To rs.Fields.Count - 1
xx.Cells(1, j + 1) = rs.Fields.Item(j).Name
Next
'Jetzt alle Sätze holen und in die Exceltabelle schreiben
i = 1
rs.MoveFirst
Do While rs.EOF = False
i = i + 1
For j = 0 To rs.Fields.Count - 1
If IsNull(rs.Fields.Item(j).Value) = False Then
xx.Cells(i, j + 1) = rs.Fields.Item(j).Value
End If
Next
rs.MoveNext
Loop
rs.Close
cn.Close
End Sub

lg kerstin
Anzeige
AW: an peter!!!!!
11.10.2005 10:40:50
Peter
Hej Kerstin,
nein, nein, nein!
Set XX = Worksheets("Tabelle2") muss es heißen, denn dorthin (das kann natürlich auch ein anderer Blattname sein), in deine Excel-Mappe, sollen die Daten aus der Access DB importiert werden!
Hast du mein Makro einmal laufen gelassen? Es sollte auch bei dir unverändert laufen.
Viele Grüße Peter
Das Forum lebt auch von den Rückmeldungen.
AW: an peter!!!!!
11.10.2005 10:47:32
kerstin
nein, würds ja gerne mit deinem versuchen aber das klappt bei mir einfach nicht!
weil ich einfach nicht weiß... also nochmal: der pfad const DBPfad ist meine access DB aus der ich auslese und set xx das ziel, sprich hier gebe ich DEN NAMEN? meiner excel datenbank an, also wo die daten aus access hinkommen sollen, oder?
lg und tausend dank!
deine dich nervende kerstin
Anzeige
AW: an peter!!!!!
11.10.2005 10:56:03
Peter
Hej Kerstin
du nervst nicht, wir müssen das Makro doch endlich auch bei dir zum Laufen bringen.
Richtig: Const DBPfad ist die Access DB und Set XX = Worksheets("...") das Ziel-Tabellenblatt in deiner Excel Mappe.
Wenn du jetzt noch den SQLString so verfasst, wie in meinem Makro, nämlich
SQLString = "SELECT Tabelle1.* FROM Tabelle1"
dann sollte es doch mit dem Teufel zugehen, wenn es nicht so wollte, wie du es möchtest.
Viele Grüße Peter
Das Forum lebt auch von den Rückmeldungen.
AW: an peter!!!!!
11.10.2005 11:00:59
kerstin
und was ist Tabelle 1?
lg
AW: an peter!!!!!
11.10.2005 11:05:47
Peter
Hej Kerstin,
das ist die Tabelle in deiner Access-DB aus der du die Daten holen willst.
Und da hast du weiter oben in der Korrespondenz geschrieben, dass die so heißt "Tabelle1".
Viele Grüße Peter
Das Forum lebt auch von den Rückmeldungen.
Anzeige
AW: an peter!!!!!
11.10.2005 11:07:39
kerstin
peter, und wenn ich den ganzen access inhalt nach excel haben möchte... nehm ich dann den namen der access DB?
lg
AW: an peter!!!!!
11.10.2005 11:26:47
Peter
Hallo Kerstin,
auch in Excel kannst du nur einzelne Tabellenblätter verarbeiten.
Wenn deine Access-DB mehrere Tabellen enthält, die du alle nach Excel holen willst, dann musst du das "ein bei ein", also nacheinander machen.
Der SQLString beinhaltet immer nur EINE Acces-Tabelle.
Viele Grüße Peter
Das Forum lebt auch von den Rückmeldungen.
AW: an peter!!!!!
11.10.2005 11:29:28
kerstin
aha, verstehe, ok! ich versuch jetzt alles nochmal von vorne!
tausend dank peter! ich meld mich dann wieder!
lg kerstin
Anzeige
AW: an peter!!!!!
11.10.2005 11:36:23
Peter
Hallo Kerstin,
so sollte es mit deinen Angaben aussehen, und laufen:


Sub DBZugriff_Kerstin()
Dim cn         As Connection
Dim rs         As Recordset
Dim SQLString  As String
Dim xx         As Worksheet   ' das Ziel-Tabellenblatt in Excel
Dim i          As Integer
Dim j          As Integer
 
Const DBPfad = "J:\Projects\Vertrieb\EBY-S-IT-Projekt\Datenbank\Archiv Datenbank.mdb"
    
   Set xx = Worksheets("Tabelle1")  ' das Ziel-Tabellenblatt in Excel
   
'  Die datenbank öffnen
   Set cn = New ADODB.Connection
   With cn
      .Provider = "Microsoft.Jet.OLEDB.4.0"   'für Access 2000 und höher
      .ConnectionString = "Data Source=" & DBPfad & DBDatei
      .Open
   End With
   
'  Definieren was geholt werden soll - hier alles
   SQLString = "SELECT Tabelle1.* FROM Tabelle1"
   Set rs = New ADODB.Recordset
   rs.Open SQLString, cn, adOpenDynamic, adLockReadOnly
   
'  Die Feldnamen der Datenbanktabelle in die erste Zeile der Exceltabelle "Tabelle2" schreiben
   
   For j = 0 To rs.Fields.Count - 1
      xx.Cells(1, j + 1) = rs.Fields.Item(j).Name
   Next
   
'  Jetzt alle Sätze holen und in die Exceltabelle schreiben
   
   i = 1
   rs.MoveFirst
   Do While rs.EOF = False
      i = i + 1
      For j = 0 To rs.Fields.Count - 1
         If IsNull(rs.Fields.Item(j).Value) = False Then
            xx.Cells(i, j + 1) = rs.Fields.Item(j).Value
         End If
      Next
      rs.MoveNext
   Loop
   
   rs.Close
   cn.Close
   
End Sub


Viele Grüße Peter
Das Forum lebt auch von den Rückmeldungen.
Anzeige
AW: an peter!!!!!
11.10.2005 13:48:57
kerstin
hi peter, das ist echt superlieb von dir! tausend dank!
ich werde das morgen gleich mal versuchen, weil ich leider heute keine zeit mehr habe und dir dann rückmeldung liefern!
lg kerstin
AW: an peter!!!!!
11.10.2005 14:46:39
Peter
Hej Kerstin,
mach das, nimm nur vorher noch das '& DBDatei' raus, das bringt natürlich Fehler.
Das war noch aus meiner Testversion enthalten - leider.
Viele Grüße Peter
Das Forum lebt auch von den Rückmeldungen.
AW: an peter!!!!!
12.10.2005 08:47:35
kerstin
hi peter!
danke für deine nachricht. ja, es ging gestern auch nicht als ich es probiert hatte.habe jetzt das &DBDatei rausgenommen, aber leider gehst es immer noch nicht! könnte es sein dass sich noch eine fehler eingeschlichen hat? lg kerstin
AW: an peter!!!!!
12.10.2005 09:16:05
Peter
Guten Morgen Kerstin,
ich wüsste keinen weiteren Fehler.
Lass das Makro mit dem Debugger und Einzelschritt, dann weiter mit F8 laufen und schau dir die einzelnen Variablen an.
Ich bin ab sofort nach Lüneburg unterwegs und erst am späten Nachmittag zurück.
Viele Grüße Peter
Das Forum lebt auch von den Rückmeldungen.
AW: an peter!!!!!
12.10.2005 09:51:59
kerstin
ok, danke! und gute fahrt!
AW: an peter!!!!!
12.10.2005 16:29:08
Peter
Hallo Kerstin,
das beigefügte Makro habe ich eben noch einmal erfolgreich laufen gelassen.
Ein Verweis auf Microsoft ActiveX Data Objects 2.0 Library ist gesetzt, keine höhere Version!
Bis auf Ziel-Tabelle in Excel = Tabelle2 und nicht Tabelle1 ist es mit deinen Angaben identisch, wobei mein Access Pfad natürlich ein anderer als deiner ist.
Ich hoffe, die Angaben in
Const DBPfad = "J:\Projects\Vertrieb\EBY-S-IT-Projekt\Datenbank\Archiv Datenbank.mdb"
sind richtig von dir angegeben worden.
Mehr kann ich leider nicht für dich tun, da ich nicht auf deinen PC sehen kann, wenn das Makro läuft.


Sub DBZugriff_Kerstin()
Dim cn         As Connection
Dim rs         As Recordset
Dim SQLString  As String
Dim xx         As Worksheet   ' das Ziel-Tabellenblatt in Excel
Dim i          As Integer
Dim j          As Integer
Const DBPfad = "J:\Projects\Vertrieb\EBY-S-IT-Projekt\Datenbank\Archiv Datenbank.mdb"
'Const DBPfad = "C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Access-DBs\Archiv Datenbank.mdb"
    
   'Set xx = Worksheets("Archiv Datenbank.mdb")
   Set xx = Worksheets("Tabelle2")  ' das Ziel-Tabellenblatt in Excel
   
'  Die datenbank öffnen
   Set cn = New ADODB.Connection
   With cn
      .Provider = "Microsoft.Jet.OLEDB.4.0"   'für Access 2000 und höher
      .ConnectionString = "Data Source=" & DBPfad
      .Open
   End With
   
'  Definieren was geholt werden soll - hier alles
   SQLString = "SELECT Tabelle1.* FROM Tabelle1"
   Set rs = New ADODB.Recordset
   rs.Open SQLString, cn, adOpenDynamic, adLockReadOnly
   
'  Die Feldnamen der Datenbanktabelle in die erste Zeile der Exceltabelle "Tabelle2" schreiben
   
   For j = 0 To rs.Fields.Count - 1
      xx.Cells(1, j + 1) = rs.Fields.Item(j).Name
   Next
   
'  Jetzt alle Sätze holen und in die Exceltabelle schreiben
   
   i = 1
   rs.MoveFirst
   Do While rs.EOF = False
      i = i + 1
      For j = 0 To rs.Fields.Count - 1
         If IsNull(rs.Fields.Item(j).Value) = False Then
            xx.Cells(i, j + 1) = rs.Fields.Item(j).Value
         End If
      Next
      rs.MoveNext
   Loop
   
   rs.Close
   cn.Close
   
End Sub


Viele Grüße Peter
Das Forum lebt auch von den Rückmeldungen.
AW: an peter!!!!!
13.10.2005 09:28:42
kerstin
lieber peter!
jetzt hat es auch bei mir geklappt! ich danke dir vielmals für alles!
lg kerstin
AW: an peter!!!!!
13.10.2005 09:32:36
Peter
Hej Kerstin,
ich bin begeistert und erleichtert - einen schönen Donnerstag und
viele Grüße Peter.
Das Forum lebt auch von den Rückmeldungen.
AW: an peter!!!!!
13.10.2005 09:43:58
kerstin
danke peter! wünsch ich dir auch!
lg kerstin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige