Befehlschaltflächen
Hallo zusammen!
Komme mittlerweile als Anfänger schon sehr gut mit Ninox zurecht, nur die Umsetzung einer Befehlschaltfläche mag nicht so recht in meinen Kopf....
Wenn ich aus einer Tabelle (Container) nach dem Versand für einen Container drei Datenfelder (Charge, Nettogewicht und Versenddatum) mit der Befehlschaltfläche in einer anderen Tabelle (Betriebsbuch) einen neuen Eintrag anlegen möchte und genau die 3 Datenfelder damit übertragen, wie bekomm ich das am besten hin?
Hab schon einige Lösungen bei ähnlichen Problemen gesehen, allein ich komm hinter kein System, wie die Befehle hinter der Schaltfläche richtig angelegt werden. Gibt es da irgendwo hier eine Schritt für Schritt Anleitung für Dummies?
Oder kann mir jemand die Lösung Schritt für Schritt präsentieren, wie ich sie in den Eingabezeilen einfügen muß?
Irgendwelche Details übersehe ich da anscheinend immer wieder.....
Vielen Dank!
6 Antworten
-
Hallo Chris,
1. Definiere drei Variablen mit deinen Datenfelder.
---
let myCharge:=Charge;
let myNetto:=Nettogewicht;
let myDatum:=Versanddatum
---
2. Erstelle einen neuenEintrag in der Tabelle Betriebsbuch und deklariere diesen Eintrag als eine Variable.
---
let newRecord:=create Betriebsbuch
---
3. Fülle die Felder in dem neuen Eintrag mit deinen Variablen:
---
newRecord.Charge:=myCharge;
newRecord.Nettogewicht:=myNetto;
newRecord.Versanddatum:=myDatum
---
Fertige Formel wäre dann:
---
let myCharge:=Charge;
let myNetto:=Nettogewicht;
let myDatum:=Versanddatum;
let newRecord:=create Betriebsbuch;
newRecord.Charge:=myCharge;
newRecord.Nettogewicht:=myNetto;
newRecord.Versanddatum:=myDatum
---
Ich persönlich würde versuchen die doppelten Einträgen in den Tabellen zu vermeiden und die Tabellen Container und Betriebsbuch zu verknüpfen. Es kann aber sein, dass es für dein Geschäftsmodell erforderlich ist, die Daten an mehreren Stellen doppelt zu pflegen.
Leo
-
Hallo Leonid,
vielen Dank für deine Ausführungen! Ja, ich benötige die Daten an beiden Stellen, die Befehlschaltfläche soll dafür sorgen, daß ich nicht an einer Stelle auf den Eintrag vergesse.
Irgendwo scheine ich wieder einen Fehler eingebaut zu haben: "Eine Tabellenspalte wurde nicht gefunden, Charge in Zeile 5 Spalte 28....."
Das Datenfeld "Charge" in Zeile 1 (und 5): kommt dessen Bezeichnung aus der Ursprung Tabelle (Container)? Bei der Eingabe auszuwählen aus der Liste aller Felder am linken Rand?
....(create Betriebsbuch); steht zwischen Klammern, ist das richtig so? Wichtig oder egal?
Benötigt man vor oder nach ":=" ein Leerzeichen, oder ist die Form bei der Eingabe auch belanglos?
Du siehst an meinen Anfängerfragen, daß ich das System da noch bei weitem nicht durchschaut habe.....
-
Hallo Chris,
Die Spaltennamen solten in meinem Beispiel in beiden Tabellen gleich sein. Ist es nicht der Fall, solltest du ab Zeile 5 die Spaltennamen der Tabelle Betriebsbuch verwenden.
Die Klammern setzt Ninox automatisch, ebenso wie Leerzeichen bei :=.
Man kann auch den Code auch anders schreiben.
Ich habe für dich ein kleines Beispiel hier:
https://www.dropbox.com/s/6mb1z0dw2f6plgo/Chris1.ninox?dl=0
Leo
-
Hallo Leonid,
Perfekt, vielen Dank, damit habe ich es geschafft (verschieden benannte Spaltennamen waren vorher sicher nicht hilfreich)! Auch wenn ich noch immer nicht genau verstanden habe wofür so manches steht.
let myT.=this; zB. wofür wird das benötigt?
-
Hallo Chris,
damit deklarierst du den aktuellen Datensatz und kannst später alle Fedel des Datensatzes ansprechen
Leo
-
Hallo Leo,
ok, dann hab ich das auch verstanden.
Nochmals ganz lieben Dank für deine Hilfe!
Content aside
- vor 6 JahrenZuletzt aktiv
- 6Antworten
- 2179Ansichten