Hallo Forum,
ich habe eine Urlaubsdatenbank in der unsere User ihre Urlaubsanträge einstellen. Die zugehörige Maske heißt einfach "Urlaubsantrag".
Zusätzlich gibt es eine weitere Maske mit den User Dokumenten, "Personal" genannt. In diesen Dokumenten stehen der Urlaubsanspruch laufendes Jahr sowie ein eventueller Anspruch aus dem letzten Jahr.
Nun möchte ich in einer Ansicht den restlichen Urlaubsanspruch für das laufende Jahr darstellen. Dazu hole ich mir für jeden User die dazugehörigen Urlaubsanträge. Damit das ein bischen schneller läuft, will ich nur die Anträge aus dem laufen Jahr haben.
Folgende Formel funktioniert:
suche = {Form="Urlaubsantrag" & U_MITARB="} & VornameMA & " " & NachnameMA & {"}
Ergänze ich die Formel um die Suche nach dem laufenden Jahr, bekomm ich 0 Dokumente zurück:
suche = {Form="Urlaubsantrag" & @contains(U_EINSTAG; "2012") & U_MITARB="} & VornameMA & " " & NachnameMA & {"}
Kann man in dem Ausdruck für db.search keine @-Formeln verwenden?
Gruß - Markus
Hm,
wenn ich dich richtig verstehe, soll ich mit @Year mein Feld "U_EINSTAG" in eine Jahreszahl wandeln?
Also so:
suche = {Form="Urlaubsantrag" & @contains(@Year(U_EINSTAG); "2012") & U_MITARB="} & VornameMA & " " & NachnameMA & {"}
Funktioniert leider nicht, auch das nicht:
suche = {Form="Urlaubsantrag" & @Year(U_EINSTAG) = "2012" & U_MITARB="} & VornameMA & " " & NachnameMA & {"}
Oder meinst du das anders? Aber ich muss es ja in den Such-Ausdruck mit einbauen, anders hab ich ja keinen Zugriff auf die Felder. :-:
Vielen Dank an euch alle für die Hinweise. Das Problem war, dass ich nicht gerafft habe, dass @Year eine Zahl liefert bzw. ich halt zwei verschiedene Datentypen verglichen habe.
Jetzt funktionierts auf alle Fälle mit @Text:
suche = {Form="Urlaubsantrag" & @Text(@year(U_EINSTAG)) = "} & Jahr & {" & U_MITARB="} & VornameMA & " " & NachnameMA & {"}
Gruß - Markus
Das "Jahr" kommt von folgender Zeile:
'----- Aktuelles Jahr ermitteln
Jahr = Year(Today())
Ich dachte, es geht halt schneller wenn er nicht bei jedem zu prüfendem Dokument das aktuelle Jahr immer wieder ermitteln muss. Probiert hab ich den Unterschied allerdings nicht.
Markus