Kriteium für eine Abfrage ist eine Funktion

27/11/2009 - 15:28 von Ralf Dorn | Report spam
Hallo alle zusammen,

ich habe eine Abfrage in der ich eine Funktion als Kriterium übergebe. Der
Anwender wàhlt aus einem Listenfeld einen Wert aus und dieser Wert wird in
eine zweite Liste übergeben. Dann füttere ich die Variable die die Funktion
füttert mit den Werten der Liste2. Nach einem Requery wird die Abfrage
ausgeführt und es wird mir das Ergebnis richtig angezeigt.

Das geht alles super solange ich nur einen wert im Listenfeld habe. Wenn es
aber mehr als einer ist geht es eben nicht mehr.

Nur so viel zum Vorgang

Ich weiß auch woran es liegt und jetzt brauche ich eurer Hilfe.

Wenn es mehr als ein Wert sind brauche ich im Kriterium für die Abfrage ein
"oder" zwischen den Bedingungen.

Den wollte ich so setzen indem ich das Listenfeld über listcount auf > 1
abfrage und dann eben die Variable zusammensetze mit

Wert = Wert & " oder " & liste.ItemDate(i)

Nun ist das "oder" aber nicht das ODER was ich will sondern mitten im String!

Mit

Wert = Wert or liste.ItemDate(i)
oder mit
Wert = Wert & or & liste.ItemDate(i)

war ich auch erfolglos

Wie bekomme ich das den gebacken das ich alle Werte in meinem Listenfeld als
Kriterium übergeben kann?

Es kann auch mit listenfeld.rowsource = SQL sein.

Aber auch da weiß ich nicht wie ich die werte übergeben soll. Es könne ja 2
oder auch 20 sein.

Gruß

Ralf Dorn
 

Lesen sie die antworten

#1 Siegfried Schmidt
27/11/2009 - 15:59 | Warnen spam
Ralf Dorn schrieb:

ich habe eine Abfrage in der ich eine Funktion als Kriterium
übergebe.



Wie sieht dieses Kriterium aus? Liefert die Funktion Daten für einen in der
Abfrage formulierten Vergleich oder ganze Filterbedingungen als SQL-
Ausdruck?

Wie bekomme ich das den gebacken das ich alle Werte in meinem
Listenfeld als Kriterium übergeben kann?



Je nach obigen Fall. Bei ersten gar nicht, beim letzten indem die Bedingung
entsprechend zusammengebaut wird.

Es kann auch mit listenfeld.rowsource = SQL sein.



In dem Fall wird die Bedingung in die where-Klausel eingefügt.

Aber nicht in der Form "Feld=wert1 or wert2 or wert3.." sondern "feld=wert1
or feld=wert2 or feld=wert3..."


Siegfried

Ähnliche fragen