Makro problem name
20.10.2005 14:38:01
Caroline
Sub DBZugriff()
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"
.ConnectionString = "Data Source=" & DBPfad
.Open
End With
' Definieren was geholt werden soll - hier alles
SQLString = "SELECT db1daten.* FROM db1daten"
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
gehört hier am anfang meine access DB rein? dann habe ich den fehler beim kompilieren nicht mehr, dafür öffnet sich ein
Fenster mit den namen Makro. hier muss dann wohl ein makro name rein? Aber welcher?
lg caro und danke an alle!!!!!
Sub DBZugriff(db1daten)
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"
.ConnectionString = "Data Source=" & DBPfad
.Open
End With
' Definieren was geholt werden soll - hier alles
SQLString = "SELECT db1daten.* FROM db1daten"
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