Datensatz mittels Button suchen
Hallo,
bin Ninox Anfänger und habe Ninox nur lokal auf meinem MAC.
In meiner Tabelle sind meine Aufgaben gespeichert. Jetzt möchte ich mittels eines Button bestimmte andere Aufgabe(n) suchen und anzeigen oder auch ggf. bearbeiten.
Meine Tabelle: = "TAUFGABEN"
TextFeld: = "Titel", DatumsFeld: = "Start", DatumsFeld: = "Soll-Ende", Auswahlfeld: = "Status", Auswahlfeld: ="Prio" usw.
Wie kann ich diese an besten umsetzen? Wenn ich z. B. bei dem Suchbegriff zu dem genauen "Titel" der Aufgabe oder das genaue "Datum" in der Tabelle nicht kenne.
Beispiel:
Aufgaben Titel in der Tabelle lautet: "Kontrolle Kontoauszug"
Aufgabe hat den Starttermin "1.5.22" und den Endtermin "20.5.22"
Aufgabe befindet sich im Status "in Arbeit"
Suchbegriffe sind:
"Kontrolle" + Zeitraum "1.4.22" bis "heute" oder bis Datum: "30.5.22"
Wie baue ich mir die Suchfelder und den Button?
Benötige ich dafür eine neue Tabelle?
Vielen Dank für Eure Hilfe.
Schöne Grüße
Werner
2 Antworten
-
Mit einem Gestaltungs-Element "Ansicht" kann man die Abfrage, welche Tabelle mit welchen Kriterien angezeigt wird per Code generieren. Nun kann man im Code ja auf ein oder mehrere Suchfelder zugreifen, so dass je nach Eingabe in den Suchfeldern die Abfrage gebaut wird.
Hier ein Beispiel - so sähe dann ein Code für das Ansichts-Element aus:let zz := this; "#### Projektzeiten ###"; if zz.Auswahl = 1 then if zz.'Mitarbeiter Auswahl' and not zz.Projektnr then let ma := first(select Mitarbeiter where text(Benutzer) = text(zz.'Mitarbeiter Auswahl')); let a := (select Zeitbuchungen where Benutzer = ma.Benutzer and year(Datum) = year(zz.Datum) and month(Datum) = month(zz.Datum) and Buchungsart = 1); a else if zz.'Mitarbeiter Auswahl' and zz.Projektnr then let ma := first(select Mitarbeiter where text(Benutzer) = text(zz.'Mitarbeiter Auswahl')); let a := (select Zeitbuchungen where Benutzer = ma.Benutzer and year(Datum) = year(zz.Datum) and month(Datum) = month(zz.Datum) and Auftrag.Projekt.Projektnummer = zz.Projektnr and Buchungsart = 1); a else if not 'Mitarbeiter Auswahl' and zz.Projektnr then let ma := first(select Mitarbeiter where text(Benutzer) = text(zz.'Mitarbeiter Auswahl')); let a := (select Zeitbuchungen where year(Datum) = year(zz.Datum) and month(Datum) = month(zz.Datum) and Auftrag.Projekt.Projektnummer = zz.Projektnr and Buchungsart = 1); a end end end else "#### Abwesenheiten ###"; if zz.Auswahl = 2 and Rechte("GF") then let ma := first(select Mitarbeiter where text(Benutzer) = text(zz.'Mitarbeiter Auswahl')); let a := (select Zeitbuchungen where Benutzer = ma.Benutzer and year(Datum) = year(zz.Datum) and month(Datum) = month(zz.Datum) and Buchungsart != 1); a end end
Hier wird eine Zeitbuchungs-Tabelle gefiltert, je nachdem was man in den Suchfeldern "Auswahl", "Datum", "Mitarbeiter Auswahl" und "Projektnr" eingegeben hat. Man kann nur auf einzelne Felder filtern oder auf mehrere. Ist ein bisschen Hirnschmalz drin, geht aber am Ende geht sowas.
-
DANKE
Content aside
- vor 2 JahrenZuletzt aktiv
- 2Antworten
- 125Ansichten
-
2
Folge bereits