Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Mahi am Juni 11, 2021, 09:41:16

Titel: sql Abfrage ausführen mit VBA
Beitrag von: Mahi am Juni 11, 2021, 09:41:16
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
Titel: Re: sql Abfrage ausführen mit VBA
Beitrag von: PhilS am Juni 11, 2021, 11:55:21
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.
Titel: Re: sql Abfrage ausführen mit VBA
Beitrag von: Maxel am Juni 11, 2021, 11:56:03
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.