Wiki der Access Code Library

Gemeinsam zu mehr Effizienz in der Anwendungserstellung

SQL-Text für Filterbedingung

Aus Access Code Library
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K
K
Zeile 24: Zeile 24:
</source>
</source>
-
Anm.: Die gleichen regeln gelten natürlich auch bei Bedingungen mit Like, >=, <= usw.
+
Anm.: Die gleichen Regeln gelten natürlich auch bei Bedingungen mit Like, >=, <= usw.
 +
 +
====Einsatz von Hilfsprozeduren und Klassen aus der CodeLib====
Vereinfachte Schreibweise mittels Hilfsfunktion //TextToSqlText// aus [http://source.access-codelib.net/filedetails.php?repname=CodeLib&path=%2Ftrunk%2Fdata%2FSqlTools.bas SqlTools]:
Vereinfachte Schreibweise mittels Hilfsfunktion //TextToSqlText// aus [http://source.access-codelib.net/filedetails.php?repname=CodeLib&path=%2Ftrunk%2Fdata%2FSqlTools.bas SqlTools]:
<source>
<source>

Version vom 20:04, 10. Mai 2015


Wenn ein Filterausdruck als String zusammengesetzt wird, ist zu beachten, dass die Filterwerte SQL-konform in Text konvertiert werden.

Datentyp: Text

Der Text-Filterwert muss mit ' umschlossen sein. Bei Jet/ACE ist z.B. auch " möglich.

Filterwert: abc

... Textfeld = 'abc'

Dabei ist zu beachten, dass ' im Filterwert im obigen Fall verdoppelt werden müssen, da sonst der Text zu früh als beendet markiert wird.

Filterwert: a'b

... Textfeld = 'a''c'

=> Filterwert ist in Variable gespeichert:

FilterString = "Textfeld = '" & Replace(FilterWertVariable, "'", "''") & "'"

Anm.: Die gleichen Regeln gelten natürlich auch bei Bedingungen mit Like, >=, <= usw.


Einsatz von Hilfsprozeduren und Klassen aus der CodeLib

Vereinfachte Schreibweise mittels Hilfsfunktion //TextToSqlText// aus SqlTools:

FilterString = "Textfeld = " & TextToSqlText(FilterWertVariable)

Verwendung von FilterStringBuilder

With NewFilterStringBuilder
 
   .Add "Textfeld", SQL_Text, SQL_Equal, FilterWertVariable
   FilterString = .ToString
 
End With