ich importiere abfragen von einer access datenbank in ein excel sheet. Das funktioniert auch ohne probleme bis jetzt. Nur bei einer Abfrage hab ich jetzt ein Problem. Dort habe ich als Kriterium bei einem feld Wie "ab51*" stehen. in access selbst führt der die abfrage mit dem kriterium auch aus. Nur in excel nicht. da hat der dann anscheinen keine daten im recordset stehen.
Hier mein code:
Private Sub CommandButton_Qry_Click()
If ListBox_Query.Text = "" Then
MsgBox Prompt:="No Query selected!", Buttons:=vbOKOnly + vbQuestion, title:="Information"
Else
'Verbindung
Set objConnection = New ADODB.Connection
Set objRecSet = New ADODB.Recordset
'Datenbank oeffnen
objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strFile + ";"
objRecSet.ActiveConnection = objConnection
objRecSet.ActiveConnection.CommandTimeout = 0
'Tabellenblatt leeren
Sheets("data").Range("A1:IV65536").Clear
'Daten nach Excel uebertragen
With objRecSet
.Open "[" & ListBox_Query.Text & "]", objConnection, adOpenStatic, adLockOptimistic
If .EOF = True Then 'falls keine Daten vorhanden
MsgBox Prompt:="No datasets found!", Buttons:=vbOKOnly + vbCritical, title:=" _
Information"
Unload AccImport
Worksheets("statistic").Activate
Exit Sub
Else 'falls Daten vorhanden
.MoveLast
Anz = .RecordCount 'Anzahl Datensaetze
.MoveFirst
End If
Worksheets("data").Activate
If Not .EOF Then
For i = 0 To .Fields.Count - 1
Cells(1, i + 1).Value = .Fields(i).Name
Next
Range("A2").CopyFromRecordset objRecSet
End If
End With
'Verbindung schließen
objRecSet.Close
objConnection.Close
'Cmd.ActiveConnection.Close
'Verweise freigeben
Set objRecSet = Nothing
Set objConnection = Nothing
'Set Cmd = Nothing
Worksheets("statistic").Activate
MsgBox Prompt:=Anz & " datasets transferred!", Buttons:=vbOKOnly + vbInformation, title:=" _
Information"
Worksheets("statistic").[B1] = ListBox_Query.Text
Unload AccImport
End If
Exit Sub
Unload AccImport
End Sub