Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1368to1372
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
Inhaltsverzeichnis

Laufzeitfehler -2147467259

Laufzeitfehler -2147467259
30.06.2014 08:33:03
Tom
Hallo,
ich bekomme immer wieder mal den Laufzeitfehler -2147467259
Im Debug Modus wird mir die Zeile cnMDB.Open sAdoConnectString markiert.
Hat jemand eine Idee woher das kommt? Irgendwie hat der ODBC-Treiber einen schlag oder?!
Fehlermeldung:
Userbild
Option Explicit
'ab xl2007
Private Const cProvider As String = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ="
Private cnMDB As Object ' oder ADODB.Connection -> 'Verweis auf: Microsoft ActiveX Data Objects ...
Private adoRS As Object ' oder ADODB.Recordset -> 'Verweis auf: Microsoft ActiveX Data Objects ...
Private Sub Close_Datenbank()
On Error Resume Next
adoRS.Close
Set adoRS = Nothing
cnMDB.Close
Set cnMDB = Nothing
End Sub

Private Sub ADO_Connect(strFile$)
Dim sPath$, sAdoConnectString$
Set cnMDB = CreateObject("ADODB.Connection") '
'1. Version so
sAdoConnectString = cProvider & strFile
cnMDB.Open sAdoConnectString
End Sub

Private Sub Oben_Recordset(ByVal strSQL$)
Set adoRS = CreateObject("ADODB.Recordset")
With adoRS
.ActiveConnection = cnMDB
.CursorLocation = 3
.CursorType = 2
.LockType = 3
.Open strSQL
End With
End Sub
Function oExAbfrage(ByVal strFile$, ByVal sTabAndRange$, Optional booCloseDB As Boolean = False)
Dim strSQL$, arValues(), n&, nCounter&
If cnMDB Is Nothing Then ADO_Connect strFile
If cnMDB Is Nothing Then GoTo ErrorConnect 'Error
strSQL = "SELECT * FROM [" & sTabAndRange$ & "]"
If adoRS Is Nothing Then
Oben_Recordset strSQL
If adoRS Is Nothing Then GoTo ErrorConnect 'Error
End If
With adoRS
If Not .BOF Then
ReDim Preserve arValues(1 To 1, 1 To .Fields.Count)
For n = 0 To .Fields.Count - 1
If .Fields(n) "" Then nCounter = nCounter + 1: arValues(1, nCounter) = .Fields(n).Value
Next n
ReDim Preserve arValues(1 To 1, 1 To nCounter)
oExAbfrage = Application.Transpose(arValues)
End If
End With
If booCloseDB Then Close_Datenbank
Exit Function
ErrorConnect:
Close_Datenbank
oExAbfrage = "Error"
End Function
gruß Tom

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler -2147467259
30.06.2014 10:33:48
Nepumuk
Hallo,
ein Beispiel das funktioniert:
Public Sub adoX5()
    
    Dim objRecordset As Object
    Dim objConnection As Object
    Dim strConnection As String
    Dim strWorkbook As String, strWorksheet As String
    
    strWorkbook = "D:\Mappe1.xls"
    strWorksheet = "Tabelle1"
    
    Set objRecordset = CreateObject("ADODB.recordset")
    Set objConnection = CreateObject("ADODB.Connection")
    
    strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
        "Data Source=" & strWorkbook & ";" & _
        "Extended Properties=""Excel 12.0;HDR=Yes;IMEX=0"""
    
    objConnection.Open strConnection
    
    Set objRecordset = objConnection.Execute("SELECT * FROM [" & strWorksheet & "$]")
    
    ' With Tabelle4
    '
    ' .UsedRange.Clear
    '
    ' .Cells(1, 1).CopyFromRecordset objRecordset
    '
    ' End With
    
    objRecordset.Close
    objConnection.Close
    
    Set objRecordset = Nothing
    Set objConnection = Nothing
    
End Sub

Gruß
Nepumuk
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige