| |

VB & DatenbankenZugriff auf verknüpfte Access DB aus Excel | |  | Autor: PtonkaVB | Datum: 23.03.12 14:06 |
| Hallo zusammen,
ich nutze in Escel (2003) folgendes Script, um Daten aus einer Access-DB (auch 2003)
auszulesen und in Excel in eine Zelle zu schreiben:
Sub ADO_Recordset_komplett_uebernehmen()
Application.ScreenUpdating = False
Dim con As ADODB.Connection
Dim datei As String
Dim fld As Field
Dim rs As ADODB.Recordset
Dim spalte As Long
Dim accTab As String
Dim ws As Worksheet
Dim zeile As Long
Dim s As String
'Den Ausgangswert für die Suche in die Variable s schreiben
s = Range("D2").Value
' (0) SQL-String
accTab = "SELECT DOMAIN FROM x86Intel WHERE INVENTARNR = " & "'" & s & "'"
' (1) Verbindung zur Datenbank herstellen
datei = "F:\Daten\Access\LSM_NEU.mdb"
Set con = New ADODB.Connection
con.Open ConnectionString:= _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & datei
' (2) Recordset erstellen
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseServer
rs.Open Source:=accTab, _
ActiveConnection:=con, _
CursorType:=adOpenKeyset, _
LockType:=adLockReadOnly, _
Options:=adCmdTableDirect
' (3a) Tabellenblatt selektieren
Set ws = ThisWorkbook.Worksheets("Tabelle1")
' (3b) Stelle angeben, an die der neue Wert in Excel übergeben werden soll
ws.Range("D20").CopyFromRecordset _
Data:=rs, _
MaxRows:=ws.Rows.Count - 1, _
MaxColumns:=ws.Columns.Count
' (4) Recordset und Verbindung schließen
rs.Close
con.Close
Set rs = Nothing
Set con = Nothing
Application.ScreenUpdating = True
End Sub
Dieses makro funktioniert einwandfrei, sobald die Access-DB "eigenständig" ist, also eigene Tabellen besitzt. Sobald aber eine Tabelle eine Verknüpfung ist (in meinem Fall eine Verknüpfung zu einer Oracle-DB) funktioniert das Makro nicht mehr und ich erhalte an der Stelle:
rs.CursorLocation = adUseServer
rs.Open Source:=accTab, _
ActiveConnection:=con, _
CursorType:=adOpenKeyset, _
LockType:=adLockReadOnly, _
Options:=adCmdTableDirect
eine Fehlermeldung:
Laufzeitfehler '-2147467259 (80004005)':
Die Methode 'Open' für das Objekt '_Recordser' ist fehlgeschlagen.
Hat jemand eine Ahnung warum das so ist?
Ich habe keinerlei Erklärung dafür.
Für eine Hilfe wäre ich sehr dankbar.
Gruß,
Jochen (=Ptonka) |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevGraph (VB/VBA) 
Grafische Auswertungen
Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Weitere InfosTipp des Monats Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|