Hallo ihr lieben,
kann jemand bitte mir sagen warum meine SQl Abfrage via VBA nicht ausgeführt wird ?
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim Sql As String
sql = " "SELECT [locks].clm_no, [locks].[Key for Lock Reason], [locks].Note" & _
"FROM tabelle1 RIGHT JOIN [locks] ON tabelle1.CLM_NO = [locks].clm_no" & _
'"WHERE ((([locks].Note) Like " * (ER) * ") AND ((tabelle1.CLM_NO) Is Null)) OR ((([locks].Note) Like "ER") AND ((tabelle1.CLM_NO) Is Null));"
Set db = CurrentDb
Set rs = db.OpenRecordset(sql)
Set db = Nothing
Ich bekomme nach der Ausführung die Fehlermeldung = Run-time error '13' : Type mismatch
kann jemand mir sagen woran das liegt ?
LG
Mahi
Der von dir gezeigte Code löst schon Kompilierfehler aus, bevor überhaupt mit der Ausführung begonnen wird.
Folgende Probleme sehe ich auf den ersten Blick:
- Zweimal Anführungszeichen zu Beginn des SQL-Strings
- Kein Leerzeichen zwischen "...Note" und "FROM..." beim Zeilenumbruch
- Zeilenfortsetzung in der zweiten Zeile, aber die dritte Zeile ist auskommentiert
- Einfache Anführungszeichen zur Begrenzung der Kriterien in der dritten Zeile (macht nichts, solange die Zeile eh auskommentiert ist)
Ich empfehle dir mein SQL-String Tutorial (https://codekabinett.com/rdumps.php?Lang=1&targetDoc=vba-sql-string-tutorial) durchzugehen.
Der Code ist eine Katastrophe: Fehlende Leerzeichen, Überflüssige Doppelhochkommata udgl.
Formuliere Deine zweifelhafte Where-Bedingung mal in Prosa, damit man versteht, worauf Du filtern möchtest.