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

Acces Abfrage ausführen

Acces Abfrage ausführen
13.03.2008 10:48:12
Sebastian
Hallo,
ich versuche eine Access Abfrage auszuführen
Code:
'Verbindung
Set objConnection = New ADODB.Connection
Set objRecSet = New ADODB.Recordset
'Datenbank oeffnen
objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strFile + ";"
With objRecSet
.Open "SELECT * FROM [" & ListBox_Table.Text & "] WHERE " & TextBox_Table.Text & ", objConnection, adOpenStatic, adLockOptimistic"
End With
'Verbindung schließen
objRecSet.Close
objConnection.Close
'Verweise freigeben
Set objRecSet = Nothing
Set objConnection = Nothing
Bekomme folgende Fehlermeldung:
Die Verbindung kann nicht verwendet werden. Sie ist entweder geschlossen oder für diesen Vorgang ungültig

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Acces Abfrage ausführen
13.03.2008 11:38:00
Ramses
Hallo
Diese Frage stellst du am besten in einem ACCESS Forum.
Nahezu jede ACCESS Variante hat ihren eigenen spezifischen Aufruf.
Kommt dazu, dass ACCESS natürlich auch installiert sein muss :-)
Gruss Rainer

AW: Acces Abfrage ausführen
13.03.2008 11:43:51
Sebastian
ich hab die hier gestellt, da ich die ja aus excel ausführe und das ergebniss dann in ein excel sheet schreibe
Access ist natürlich installiert

AW: Acces Abfrage ausführen
13.03.2008 11:49:57
Ramses
Hallo
Ich meine damit:
Es geht hier spezifisch um den Aufruf und um die Verbindung zur Datenbank der jeweiligen ACCESS Version, die bei Dir ja schon nicht funktioniert.
Mal in einem ACCESS Forum prüfen ob der grundsätzlich korrekt und zu deiner ACCESS Version kompatibel ist.
Gruss Rainer

Anzeige
AW: Acces Abfrage ausführen
13.03.2008 15:35:02
Peter
Hallo Sebastian,
so funktioniert es bei mir einwandfrei:

Sub DBZugriff_Sebastian()
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("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"
'    hier nur die PstLZ die mit 2 beginnen aus der Access-Tabelle
SQLString = "SELECT 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 Zeile der Exceltabelle
'  hier in die "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


Gruß Peter

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige