Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
852to856
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
852to856
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

von Access in Excel

von Access in Excel
07.03.2007 14:01:08
Access
Hallo beisammen,
ich möchte gerne von Excel aus eine Abfrage an Access schicken, und das in Form eines SQL-Statements. Hat das schonmal jemand gemach, bzw weiß jemand wie das funkioniert?
Grüße
Manfred

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: von Access in Excel
07.03.2007 17:05:27
Access
Hallo Manfred,
hier ein Beispiel, das du bei VBA gut leicht anpassen kannst:


Option Explicit
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&nbsp ;Datenbank.mdb"
Const DBPfad = "C:\Dokumente und Einstellungen\Administrato r\Eigene Dateien\Access-DBs\Archiv Datenbank.mdb"
   Set xx = Worksheets("Tabelle2")  ' das Ziel-Tabellenblatt in Excel
'  Die datenbank öffnen
   Set cn = New ADODB.Connection
   With cn
      .Provider = "Mic rosoft.Jet.OLEDB.4.0"   'für Access 2000 und höher
       .ConnectionString = "Data Source=" & DBPfad
&nbsp ;     .Open
   End With
'  Definieren was geholt werden soll - hier al les
   'SQLString = "SELECT Tabelle1.* FROM Tabelle1"
'    hier nur die PstLZ die mit 2 be ginnen aus der Access-Tabelle
   SQLString = "SEL ECT Tabelle1.* FROM Tabelle1 WHERE Tabelle1.PSTLZ_Straße LIKE "" 3%"""
   Set rs = New ADODB.Recordset
   rs.Open SQLString, cn,  adOpenDynamic, adLockReadOnly
'  Die Feldnamen der Datenbanktabelle in die erste& nbsp;Zeile der Exceltabelle
'  hier in die "Tabelle2" schreiben
   For j = 0 To rs.Fields.Count - 1
      x x.Cells(1, j + 1) = rs.Fields.Item(j).Name
   Next
'  Jetzt alle Sätze holen und in die Exce ltabelle schreiben
   i = 1
    rs.MoveFirst
   Do While rs.EOF = False
      i = i + 1
      For j = 0 To rs.Fields.Count - 1
      & nbsp;  If IsNull(rs.Fields.Item(j).Value) = False Then
            xx.Cells(i,& nbsp;j + 1) = rs.Fields.Item(j).Value
      &n bsp;  End If
      Next
      rs.MoveNext
   Loop
   rs.Close
   cn.Close
End Sub


Gruß Peter
Anzeige
AW: von Access in Excel
08.03.2007 11:48:11
Access
ah, cool, danke
aber beim ausführen sagt er dass Connection und Recordset ein "Benutzerdefinierter Datentyp" ist, und dass dieser "nicht definiert" sei?
Grüße
AW: von Access in Excel
08.03.2007 21:12:04
Access
Hallo Manfred,
Achtung der Verweis auf: Microsoft ActiveX Data Objects 2.0 Library oder eine höhere Version (2.1, 2.5) muss aktiviert sein.
Gruß Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige