Frage zu Schaltfläche
Hallo Zusammen,
ich habe eine Frage zu einer Schaltfläche. Ich möchte, dass die Schaltfläche im Tabellenblatt "Trainingseinheiten" eine Teilnehmerliste im Tabellenblatt "Anwesenheiten" erstellt. Meine erste Schaltfläche tut das auch wunderbar:
let me := this;
let result := dialog("Wirklich neu erstellen?", "Wirklich eine neue Anwesenheitsliste erstellen? Dies löscht die alte Liste!", ["Ja", "Abbruch"]);
if result = "Ja" then
delete (select Anwesenheit where Veranstaltung = me);
let myT := (select Spielerdatenbank where 'aktuelle Mannschaft' like me.Mannschaft);
for i in myT do
let myA := (create Anwesenheit);
myA.(Veranstaltung := me);
myA.(Teilnehmer := i)
end
else
void
end
Jedoch möchte ich nun eine Anwesenheit für die Trainer dieses Teams erstellen. Anders hierbei ist, dass die Trainer in der Tabelle "Personendatenbank" angelegt sind. Ob die Trainer die Mannschaft trainieren ergibt sich aber (anders als bei den Spielern, wo die Mannschaft in der gleichen Tabelle steht) aus der Tabelle "Aufgaben", denn diese verknüpft eine "Rolle" mit einer Person.
let result := dialog("Wirklich neu erstellen?", "Wirklich eine neue Anwesenheitsliste erstellen? Dies löscht die alte Liste!", ["Ja", "Abbruch"]);
if result = "Ja" then
let me := this;
delete (select 'Anwesenheit Trainer' where Veranstaltung = me);
let myC := (select Aufgaben where Rolle like "Verbandstrainer" and 'Verbands-Altersklasse' like me.Mannschaft);
for i in myC do
let myA := (create 'Anwesenheit Trainer');
myA.(Veranstaltung := me);
myA.Teilnehmer.(Nachname := i)
end
else
void
end
Dieser Script erstellt nun zwei leere Einträge ohne Inhalt. Ich ahne, dass es daran liegt, dass die Informationen aus zwei verschiedenen Tabellen zu holen sind, aber ich komme einfach zu keinem Lösungsansatz, ohne dass Ninox mir einen Fehler im Script anzeigt...
Kann mir jemand folgen und auch noch helfen?
Liebe Grüße und schon mal vielen Dank!
4 Antworten
-
Hat hier zufällig noch jemand eine Idee?
-
Hallo Stephan,
es ist ohne Datenmodel und Einblick in die Tabelle schwierig. Was mir aufgefallen ist:
myC
- ist eine gefilterte Tabelle Augaben. Du schreibst in der Schleife:myA.Teilnehmer.(Nachname := i)
. Nach meiner Verständnis soltte dort aber sowas wie:myA.Teilnehmer:=i.Personen
stehenLeo
-
Hallo Leo,
es ist unglaublich, aber es funltioniert. Kannst Du mir das einmal logisch erklären? Es ist einfach unfassbar gut, was ihr in diesem Forum hier so leistet!
Liebe Grüße und vielen, vielen Dank!!! -
Hallo Stephan,
bei Schlefenanfang <<for i in myC do>>geht Ninox jeden Datensatz von myC an und gibt diesem Datensatz zuerst den Namen << i >>. Die Tabelle <<Anwesenheit Trainer>> hat zwei Verknüpfungen: <<Veranstaltung>> und <<Teilnehmer>> wobei die Teilnehmer-Verknüpfung zu der Tabelle Pesonen führt. Nach der Erstellung des Datensatzes :
<<let myA := (create 'Anwesenheit Trainer')>> machst du richtigerweise die Verknüpfung zur Veranstaltungen
<<myA.(Veranstaltung := me)>>
Jetzt muss die Verknüpfung zur Tabelle Personnen hinzugefügt werden und es sollte der gleiche Datensatz sein wie bei der Aufgabe. Diese Aufgabe hat Ninox innerhalb der Schleife als << i >> bezeichnet. Also, die Person sollte dann i.Personen heißen (falls nicht umbenannt). So ergibt sich <<myA.Teilnehmer:=i.Personen>>Leo
Content aside
- vor 4 JahrenZuletzt aktiv
- 4Antworten
- 580Ansichten