Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: netcon am Dezember 20, 2011, 15:30:50

Titel: Werte aus zwei Textfeldern aus einem Formular an eine Abfrage übergeben
Beitrag von: netcon am Dezember 20, 2011, 15:30:50
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
Titel: Re: Werte aus zwei Textfeldern aus einem Formular an eine Abfrage übergeben
Beitrag von: DF6GL am Dezember 20, 2011, 16:17:34
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..
Titel: Re: Werte aus zwei Textfeldern aus einem Formular an eine Abfrage übergeben
Beitrag von: Datenman am Dezember 24, 2011, 11:09:14
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
Titel: Re: Werte aus zwei Textfeldern aus einem Formular an eine Abfrage übergeben
Beitrag von: database am Dezember 25, 2011, 00:34:49
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