Hallo Dirk,
klar das geht schon, und zwar auf verschiedene Weise:
- Du kannst das gleich in die Abfrage einbauen oder
- Im Formular in der „Beim Anzeigen“ Funktion
Am leichsten ist wahrscheinlich eine Funktion in einem Modul zu plazieren, die kann man dann von ueberall aufrufen.
z.B.
Public Function CheckText( txt1 as Variant, txt2 as Variant, txt3 as Variant) as String
CheckText = „nicht erfuellt“
’ check auf Null Werte
if isNull(txt1) or isNull(txt2) or isNull(txt3) then
goto ExitHere
endif
’ test auf numerische werte
if not isNumeric(txt1) or not isNumeric(txt2) or not isNumeric(txt3) then
goto ExitHere
endif
’ check auf Werte
if CINT(txt1) >= 6 then
if CINT(txt2) = 3 then
if CINT(txt3) = 1 then
CheckText = „erfuellt“
endif
endif
endif
ExitHere:
Exit function
end function
=====================================
Dann kann man in der Abfrage ein neue Spalte einfuegen und folgendermassen kodieren
txtAusgabe: CheckText(TextFeld1,TextFeld2,TextFeld3)
===========================================
Oder aber im Formular in „Beim Anzeigen“(On_Current) Event
Du erstellst ein ungebundenes Textfeld mit dem Namen z.B. txtAusgabe
und die 3 gebunden Felder z.B. TextFeld1,TextFeld2,TextFeld3
in der On_Current Sub codiedierst du
Me.txtAusgabe = CheckText(TextFeld1,TextFeld2,TextFeld3)
Die 2. Variante ist wohl vorzuziehen, da bei der ersten Variante fuer jede Zeile der Abfrage die Function aufgerufen wird, und das bremst bei vielen Datensaetzen die Abfrage aus.
Ich hoffe es sind nicht zu viele Fehler drin, da ich die Programmzeilen hier „trocken“ eingehackt habe
Hope this helps
Peter