MS Access VBA Datentyp Mismatch Fehler in der SQL-Abfrage

8

Ich habe derzeit die folgende MS Access SQL-Abfrage, die Teil einer Access VBA-Funktion ist. Es wurde mit Hilfe von vorherige Frage , die Sie betrachten können, um besser zu verstehen, wie es funktioniert.

%Vor%

Die obige Zugriffsabfrage führt zu dieser SQL-Zeichenfolge:

%Vor%

Also wird [Field3] in der inneren Abfrage unter max () kodiert und das Maximum wird in der äußeren Abfrage dekodiert.

Wenn ich es jedoch ausführe, erhalte ich den folgenden Fehler:

  

Laufzeitfehler '3464': Datentyp stimmt nicht mit dem Kriterienausdruck

überein

Wenn ich meine SQL-Abfrage aus der Debugausgabe im unmittelbaren Fenster kopiere und sie in eine manuelle SQL-Abfrage einfüge (nachdem ich meinen VBA-Code bis zu einem Haltepunkt ausgeführt habe, an dem die SQL-Abfrage ausgeführt werden soll), erhalte ich den folgenden Fehler:

  

Datentyp stimmt nicht mit dem Kriterienausdruck

überein

Wenn ich die Unterabfrage in meiner obigen SQL-Zeichenfolge nur zu Debuggingzwecken ausführe:

%Vor%

Dann läuft es ohne Fehler

Beachten Sie, dass Issue_Management_Findings der Name einer vorhandenen Tabelle in der Datenbank ist.

Weiß jemand, wie ich diese Fehler beheben konnte?

    
Paradox 12.08.2016, 14:05
quelle

1 Antwort

2

Ich denke, Sie müssen einen Standard-Rückgabewert für Ihre Switch hinzufügen, für den Fall, dass es nicht mit allen anderen Kriterien übereinstimmt, so dass Null nicht zurückgegeben wird, was das Data Type mismatch Problem verursacht. Sie können einfach ...,true,"thedefaultvalue") z. B..

hinzufügen %Vor%

so in Ihrer Abfrage. Ich setze es auf 0 ;

%Vor%     
winghei 15.08.2016, 16:32
quelle

Tags und Links