Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Werte aus zwei Textfeldern aus einem Formular an eine Abfrage übergeben

Begonnen von netcon, Dezember 20, 2011, 15:30:50

⏪ vorheriges - nächstes ⏩

netcon

Hallo,

Ich möchte in einer Abfrage Werte aus zwei Textfeldern aus einem Formular an eine Abfrage übergeben.
Der erste Wert ist ein Operator z.B. >= der zweite Wert eine Zahl.

Das Problem:

Die Übergabe der Zahl an die Abfrage funktioniert, wenn ich aber beide Werte übergeben will
geht nichts mehr.


Beispiel:

[forms]![Bemerkung_SW]![Text105]                 funktioniert  Feldinhalt: (Zahl)

[forms]![Bemerkung_SW]![Text103] & [forms]![Bemerkung_SW]![Text105]        funktioniert nicht
                                                                                                                            Feldinhalt 1 (<=) Feldinhalt 2 (Zahl)

>=[forms]![Bemerkung_SW]![Text105]      funktioniert


Wer kann hier weiterhelfen?

vielen Dank im voraus

DF6GL

Hallo,

es ist nicht möglich, Operatoren als Paramterfeld in eine Abfrage (SQL-String) im Abfrageentwurf auf diese Weise einzubauen.

Insgesamt steht die ganze Vorgehensweise eher auf wackeligen Beinen..

Datenman

verstehs noch nicht so ganz. Gib mal ein Beispiel was in einem Datensatz genau steht, und wie es herausgefiltert werden soll, vielleicht kann ich ja helfen

database

Hallo,

wie Franz ja schon geschrieben hat, ist die Übergabe von Operatoren (>=, <=, >, <, ...) an eine Abfrage aus einem Formularfeld nicht möglich.

Wenn der Vergleichsoperator immer <= lautet solltest du diesen in die Abfrage wie funktionierend ...

Zitat>=[forms]![Bemerkung_SW]![Text105]      funktioniert

... übergeben. Alternativ könntest du die SQL der Abfrage dynamisch gestalten und demzufolge den String per VBA zusammenbauen um ihn dann der Abfrage zuzuweisen.

In dem Fall ist es dann auch möglich den Operator aus einem Formularfeld auszulesen und an die Abfrage abzuliefern.

CurrentDB.QueryDefs("DeineAbfrage").SQL =  "SELECT * FROM DeineTabelle WHERE DeinFeld" & Forms!frmTest!Text103 & Forms!frmTest!Text105

Die Abfrage kannst du dann probeweise auch per VBA ...
DoCmd.OpenQuery("DeineAbfrage")

... oder auch aus dem Navigationsbereich öffnen um das Ergebnis zu überprüfen.

Für den Fall der VBA - Zuweisung muss ein geeignetes Ereignis herhalten um den SQL-String an die Abfrage zu senden. (Z.B. ein Button-Klick oder ein anderes brauchbares Ereignis)

HTH