Supportnet / Forum / Datenbanken
Where Bedigung dynamisch
Frage
Hi,
ich versuche mittels einer SQL Anweisung aus einer Access-DB Daten in Excel einzulesen. Um das Ganze aber dynamisch zu halten möchte ich gerne die WHERE Bedingung aus einer Zelle auslesen, sprich in einer Variablen übergeben.
Sub BeobachtungsorteAuslesen()
Dim mySQL As String
Dim criteria As String
criteria = Range("H10")
mySQL = "SELECT * FROM Orte WHERE Name like " & criteria & ";"
ADOImportFromAccessTable "C:\Datenbanken\Beispiel.mdb", mySQL, Range("A2")
End Sub
Sub ADOImportFromAccessTable(DBFullName As String, TableName As String, TargetRange As Range)
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim intColIndex As Integer
Set TargetRange = TargetRange.Cells(1, 1)
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & DBFullName & ";"
Set rs = New ADODB.Recordset
With rs
.Open TableName, cn, adOpenForwardOnly, adLockReadOnly
TargetRange.CopyFromRecordset rs
End With
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub
Wenn ich die Zeile mySQL = "SELECT * FROM Orte WHERE Name like " & criteria & ";" benutze fehlen dann aber die einfachen Hochkommas um das Kriterium und die folgende ADO Anweisung schlägt fehl. Wie bekomme ich das hin?
Danke + Gruß
Volker
Antwort 1 von ThomasG
Es gibt auf der Tastatur auch einzelne Hochkomma´s, rechst vom Ä. Unter Umständen geht auch [ und ]
Gruß
Thomas
Gruß
Thomas

