PDA

Vollständige Version anzeigen : Eval


Die Vollidioten
22.03.2004, 08:25
Hallo Leute mal wieder ne einfache Frage für euch!

Ich hab eine Abfrage und möchte als Kriterium ein Formularfeld nehmen. Beim öffnen füre ich ein Recordset aus. Dadurch bekomme ich eine Fehlermeldung. Habe herausgefunden das es mit "Eval" geht.

Jetzt habe ich aber das Problem das ich in meine Abfrage einen Text habe. Und in diesem Text möchte ich nach einem bestimmten Textinhalt suchen z.B.: Fa.Hartmann Kabel-Konfektion = suchen nach "Hartmann"

so sieht mein Kriterium aus:
eval("Forms!F_Auswertung!Suche")
aber ich bekomme nicht die Datensätze die ich suche.

Könnt ihr mir weiterhelfen?

Gruß Claus

Arne Dieckmann
22.03.2004, 08:27
Dann musst Du wohl mit LIKE arbeiten:

Probiere im Entwurf der Abfrage:

Wie "*" & eval("Forms!F_Auswertung!Suche") & "*"

als Kriterium. Wenn Du dann im Formular "Hartmann" einträgst, sollte die Fa. auch gefunden werden.

strausto
22.03.2004, 08:33
LIKE '*' & eval('Forms!DeinForm!DeinSuchFeld') & '*';

Die Vollidioten
22.03.2004, 08:56
Danke Funktoniert. Aber wenn ich jetzt ein weites Kriterium eingebe geht zwar die suche nach der Bezeichnung aber wenn ich nach einer Gruppe suchen möchte geht es nicht mehr! Hab bei dem Kriterium in der suche "eval("Forms!F_Auswertung!K_Gruppe")" eingegeben!

Brauche Hilfe!

Die Vollidioten
22.03.2004, 09:50
Hat keiner ein Idee?

Arne Dieckmann
22.03.2004, 09:52
Mal wieder etwas ungeduldig, oder?

Wenn Du Dein Vorhaben genauer schilderst und darstellst, wie die Abfrage aussieht (SQL-Ansicht), dann kann man bestimmt mehr sagen.

Die Vollidioten
22.03.2004, 09:53
Hier mein SQL Text:

SELECT Aufträge_VWB.ArbPlatz, T_Datenstamm.Bezeichnung, Sum([te 100]/60) AS TE100, T_Gruppe.ID_G, T_Gruppe.Gruppe
FROM T_Gruppe RIGHT JOIN (T_Datenstamm RIGHT JOIN Aufträge_VWB ON T_Datenstamm.Arbeitsplatz = Aufträge_VWB.ArbPlatz) ON T_Gruppe.ID_G = T_Datenstamm.Gruppe
GROUP BY Aufträge_VWB.ArbPlatz, T_Datenstamm.Bezeichnung, T_Gruppe.ID_G, T_Gruppe.Gruppe
HAVING (((T_Datenstamm.Bezeichnung) Like "*" & eval("Forms!F_Auswertung!Suche") & "*")) OR (((T_Gruppe.ID_G) Like eval("Forms!F_Auswertung!K_Gruppe")))
ORDER BY T_Gruppe.Gruppe;

Arne Dieckmann
22.03.2004, 10:02
Handelt es sich bei "K_Gruppe" um ein Kombinationsfeld? Beim Kombinationsfeld musst Du darauf achten, dass die Anzeige vom tatsächlichen Wert des Kombinationsfeldes abweichen kann. Kontrolliere deswegen erst einmal die Eigenschaften "Gebundene Spalte" etc. des Kombinationsfeldes und verweise evtl. auf die richtige Spalte mittels Column().

Die Vollidioten
22.03.2004, 10:10
Ja ist ein Kombinationsfeld. Die Verwiese stimmen die ganze Abfrage hat schon Funktoniert, nur jetzt wird beim beim öffnen des Formulars ein recordset ausgeführt und da brauch ich die Eval funktion. Es Funktoniert auch wenn ich stat der Bezeichnung die Gruppe suche. Nur wen ich bei beiden ein Kriterium angebe funktoniert nur noch die suche nach der Bezeichnung!

Kannst du mir weiterhelfen?

Arne Dieckmann
22.03.2004, 10:24
Wenn Du die entsprechenden Teile in einer Testdatenbank einfügst und diese MDB (gezippt) hier hochlädst, kann man bestimmt mehr sagen. So bin ich erst einmal überfragt, bzw. es wird in ein munteres Ratespiel ausarten.


Hast Du das Ganze schon einmal mit anderen Bezeichnungen ausprobiert, bei denen Du davon ausgehen kannst, dass es in dieser Kombination (Gruppe und Bezeichung) funktionieren müsste?

Die Vollidioten
22.03.2004, 10:35
Hat sich erledigt. Hab einfach das Kriterium wo in T_Gruppe.ID_G stand in T_Gruppe.Gruppe eingefügt und schon ist es gegangen.

Danke nochmal für deine Hilfe