Bei Click nächsten wert übergeben ?
Hallo,
Ich habe von einer Suche mehrere Ergebnisse. Jetzt würde ich gern über eine Befehlstaste der Reihe nach vom kleinsten Datum beginnend, bei click immer das jeweilige nächste Datum in ein datumsfeld übergeben. Geht das ? Und wenn ja wie?
10 Antworten
-
Da Ninox keine temporäre Variablen zulesst muss man dafür ein Zahlenfeld benutzen.
Was bedeuted “von einer Suche mehrere Ergebnisse? Array, Tabelle, Liste?
die idee ist es bei der Suche das Zahlenfeld zuerst auf 0 zu setzen---
let ERGEBNISARRAY:=sort(select TABELLE where ###.DATUM);
ZAHLENFELD:=0
---
dann bei dem Button:
---
Datum:=item(ERGEBNISARRAY,ZAHLENFELD);
ZAHLENFELD:=ZAHLENFELD+1
---Leo
-
Ich müßte aus tabelle “A” vom Zahlenfeld “PZ” die summe ermitteln für jeden hinterlegten Tag und jede Tour . Bedinung sind hierfür “Filiale=1. Ergebniss soll sein: Datum / Tour / Filiale /PZ .
In tabelle ”B“ sind weitere Zahlenfelder ”MAX“ und ”FZ“ diese sind auch nach Datum / Filiale / Tour hinterlegt.
--------------------------------------
Max = Maximale mögliche Planzeit in h (einfaches Zahlenfeld)
FZ = Fahrzeit in h (einfaches Zahlenfeld)
PZ = bisherige geplante zeit in h (einfaches Zahlenfeld)
Touren gibt es immer mehrere und sind nach nummern angelegt
-------------------------------------------------
Wenn bei Filiale 1 eine Tour die bedinung = FZ+PZ < Max erfüllt, soll das Datum vom kleinsten wert bei click übergeben werden
Hab keine Ahnung wie das geht, da sich die werte gerade bei PZ immer verändern. Tabellen sind nicht verknüpft.
-
hab jetzt eine neue Tabelle wo die Daten zusammengeführt werden. Diese wird bei jedem vorgang aktualisiert. Wie soll ich jetzt weiter vorgehen?
Und gibt es eine bessere lösung für die neue tabelle? Schreibe immer die neuen tordaten und lösche sie anschliesend bis auf den letzten eintrag. Das Löschen geht leider auch nicht über do as server. Da ist die tabelle leer am ende. Das dauert da natürlich auch ganz schön. hat jemand rat? das ist das grobe skript für die neue tabelle
do as server
for i in (select Disponiert)[Lieferdatum = Lieferdatum] do
let new := (create Opt);
new.(PZ2 := i.GesamtPZ);
new.(Gesamt := i.gesamtberechnung);
new.(Datum := i.Lieferdatum);
new.(tour := i.text(Tour));
for t in (select Touren)[i.Lieferdatum = Datum] do
new.(Max := t.Max);
new.(FZ1 := t.FZ1)
end
end
end;for i in select Opt do
delete (select Opt where Datum = i.Datum and tour = tour and Nr < i.Nr)
endaus der soll dan das Datum wie oben beschrieben kommen.
-
statt
---
for i in select Opt do
delete (select Opt where Datum = i.Datum and tour = tour and Nr < i.Nr)
end
---
würde ich es so schreiben:
---
delete (select Opt where Datum = i.Datum and tour = tour and Nr < i.Nr)
---
die Schleife ist hier überflüssig
Leo
-
Danke erstmal Leo,
kannst du eventuell noch mal drüber schauen. Bekomm das mit der Auswertung einfach nicht hin. Wäre aber toll wenn diese funktion gehen würde.
-
-
Bild will wohl nicht.
Aus den Daten der Tabelle Opt soll bei Click der nächste mögliche Terminvorschlag beginnend mit today() in “Datum für verfügbare Termine”(Datumsfeld) erscheinen. Filter ist die “Filiale” (Auswahlfeld) und ob die “Planzeit für neuen Termin” (Zahlenfeld) zeitlich in die “übrige Planzeit” (Berechnugsfeld) passt.
-
jetzt hab ich die relewanten daten in eine hilfstabelle geschrieben. Datum und Filiale wo die vorherigen kriterien passen. Jetzt sollte es doch möglich sein das ich über die Tabelle Planung mit einem Befehlsfeld die Datumsangaben nacheinander von today() sortiert angefangen (sind nicht vortlaufend) in ein Datumsfeld bekomme.
Nur wie?????
do as server
delete (select Hilfe);
for i in (select Opt)[“Planzeit für neuen Termin” < “übrige zeit”] do
let new := (create Hilfe);
new.(Filiale := i.Filiale);
new.(Datum := i.Lieferdatum)
end
end -
über “Datum:=item(ERGEBNISARRAY,ZAHLENFELD);” bekomm ich das zwar hin, es ist jedoch nicht aufsteigend. Die Sortierung klappt, jedoch sind die internen NR nicht dem Datum entsprechend. Das heist (06.12. mit NR =10) kommt vor dem (01.12. mit NR = 11) usw.
-
Ohne Datenmodell zu sehen ist es echt schwierig. So als Tipp:
---
for i in (select Opt)[“Planzeit für neuen Termin” < “übrige zeit”] order bei Datum do
.....
end
---
Leo
Content aside
- vor 4 JahrenZuletzt aktiv
- 10Antworten
- 805Ansichten