· 

Access: SQL-Between auch in VBA? Eval macht es möglich!

Programmierer stehen häufig vor der Aufgabe herauszubekommen, ob ein Wert in einem bestimmten Wertebereich liegt. Als Access-Entwickler wünscht man sich da den aus SQL bekannten Operator BETWEEN. Den gibt es aber leider nicht in VBA, oder doch?

Wie man sich diesen Operator mit Hilfe einer eigenen VBA-Funktion in Access basteln kann, möchte ich hier zeigen.

Ich verwende dazu die kaum bekannte Access-VBA-Funktion Eval().

Eval() füttert man mit einer Zeichenfolge und die Funktion versucht diese auszuwerten.

Beispiele:

  • Eval("1+2") liefert  3.
  • Eval("3.7 between 1.5 and 7.5") liefert -1 für True
  • Eval("'D' in ('T','Z','R','P','U','D','K','S')") liefert True
  • Eval("Date()") liefert heute den 01.08.2022

Magic! Das eröffnet mit etwas Phantasie ungeahnte Möglichkeiten. 

Meine neue Funktion heißt Liegt_Dazwischen und benötigt zum Zusammenbauen des Ausdrucks die Funktion Get_ZahlString, die dafür sorgt, dass Zahlen im Ausdruck als Dezimaltrenner einen Punkt haben.

Der komplette Code:

Download
Hier könnt Ihr das Modul herunterladen.
modTipp.bas
Text Dokument 1.9 KB
Kommentare: 0