einen anderen Eintrag in einem Auswahlfeld mittels Schaltfläche
Kann ich mittels Schaltfläche, wenn ein Auswahlfeld schreibgeschützt ist, einmalig einen anderen Eintrag vornehmen z.B. aus Angebot wird Auftrag. Vielen Dank an ALLE generell im Forum helfenden User ;-)
13 Antworten
-
Hallo René,
Ja, es geht. Shreib bei Button einfach
...
Auswahl:=2
...
Leo
-
Hallo Leo, Danke das hatte geklappt. Ich möchte jedoch durch den Buttonklick zwei Feldinhalte ändern und eine Nummer erzeugen, dies geht einmal und beim nächsten Datensatz wird die laufende Nummer nicht weiter hochgezählt, es wird immer die letzte Auftragsnummer in dem neuen Datensatz eingesetzt ;-(
Hier mal der Eintrag im Klick der Schaltfläche:
Vorgang:= 2;
Ergebnis:= 1;
let myYear := year(Auftragsdatum);
let myAU := last(((select Auftragsmanagement where year(Auftragsdatum) = myYear) order by substr('Auftrags ID', 2)).'Auftrags ID');
'Auftrags ID' := "AU" + format(number(substr(myAU, 7)) + 1, "000") + myYear -
Hallo René
wenn deine Auftrags ID eine Struktur wie AU0012020 hat, warum schreibst du in der letzten Zeile die 7? Versuch es mal so:
---
Vorgang:= 2;
Ergebnis:= 1;
let myYear := year(Auftragsdatum);
let myID:= max(select Auftragsmanagement [ year(Auftragsdatum) = myYear]. number(substr('Auftrags ID', 2, 3)))+1;
'Auftrags ID' := "AU" + format(myID, "000") + myYear
---
Leo
-
Hallo Leo, dies hat prima funktioniert und war eine tolle Hilfe. Kann man den Zähler auf Null setzen oder müsste man die Tabelle aus einem Backup holen, um den Zähler wieder neu zu starten.
-
Welchen Zähler meinst du? Wenn es um die interne ID (Nr) geht, kann man das nicht machen. Ist auch nicht nötig - Einfach die spalte ausblenden und nicht beachten. Dafür hast du ja auch die Auftrags ID erstellt.
Leo
-
Hallo Leo, ja das weiß ich, ich meinte meine Auftrags ID. Wenn ich z.B. die Auftrags ID manuell überschreibe mach Ninox immer da weiter wo er aufgehört hat, also es könnten wegen gestern Lücken sein.
-
Hallo Leo, ich hatte ja deine o.g. Formel übernommen und es hatte auch eingangs funktioniert, aber jetzt wird bei jedem neuen Datensatz immer die gleiche Auftragsnummer generiert. Woran könnte dies liegen bzw. wie könnte ich den Fehler abstellen ?
-
Hallo René,
ich würde in der Datensatz suchen, wo der vorherige Nummer ist, suchen. Kan sein dass dort die Nummer so geändert ist, dass dritte, vierte und fünfte Stelle immer die Maximale Nummer bilden.
Leo
-
Hallo Leo, ich habe jetzt keinen Fehler gefunden. Ich habe jetzt mal ein neues Feld für Angebotsnummer und auch einen neuen Butto zur Generierung der Nummer erstellt und die Angebotsnummer wird immer mit der laufenden Nummer 203 erstellt/generiert, egal auch, wenn die Nummernzusammenstellung geändert wird.
-
Und wie sieht die 202 aus?
AU2022020? -
Hallo Leo, Danke für deine Zeit. Der Auftragsbutto funktioniert nach wie vor korrekt. Ich hatte die Daten aus dem Auftragsbutto auch für den Angebotsbutto genommen, jedoch mit anderen Kriterien. Wie schon geschrieben habe ich auch das ursprünliche ID Feld für Angebote gelöscht und ein neues angelegt, daher kann es ja eigentlich keine laufende Nummer 202 oder 203 geben. Wo könnte ich da noch suchen. Ich habe maximal soviele Datensätze nei meiner Kundennummer, aber diese setzt sich aus 19.000 zusammen und funktioniert auch tadellos. Die Zeilennummer und lfd. Nummer steht erst bei 82. Vielleicht hat es etwas mit der Ninox ID zu tun !!!
-
Hallo René,
ich brauche die Formel für Angebotsbutton und auch die Schreibweise für Angebotsnummer
Leo
-
Hallo Leo, ich habe den Fehler glaube ich gefunden. Das System hängt sich immer auf, sobal ich in dem Button zur Erzeugung der Nummer eingreife und die Darstellung ändere. Wahrscheinlich auch logisch, da siich die Darstellung nicht ändern dürfte. Habe deine letzte Formel so genommen:
let myYear := year(Auftragsdatum);
let myID := max((select Auftragsmanagement)[year(Auftragsdatum) = myYear].number(substr(neu, 2, 3))) + 1;
neu := "AN" + format(myID, "000") + myYear .Wenn ich die Formel ändere in let myYear := year(Auftragsdatum);
let myID := max((select Auftragsmanagement)[year(Auftragsdatum) = myYear].number(substr(neu, 2, 3))) + 1;
neu := "AN" + "-" + format(myID, "000") + myYear ->>> hängt sich das Sytem auf und zählt nicht mehr hoch.Wenn ich die Datenbank mittels Backup sichere (vorher das Feld AngebotsNr. lösche) und neu installiere + Feld AngebotsID neu hinterlege mit Button, fängt dann Ninox bei 001 an. D A N K E .
Content aside
- vor 4 JahrenZuletzt aktiv
- 13Antworten
- 2073Ansichten