Ungültiger Operator: number
Hallo alle zusammen,
ich komme einfach nicht weiter.
Folgender Fall: Ich habe eine Tabelle Kontakte. Diese Kontakte haben ein Zahlenfeld Zinstage mit dem Eintrag z. B. 365.
Ich habe eine weitere Tabelle Kalkulation mit einer Untertabelle wo Berechnungen stattfinden. Hier möchte ich mit den Zinstagen aus den Kontakten die Summe berechnen, siehe Screenshot. Warum bekomme ich diesen Fehler? Wenn ich z. B. 365 eingebe, dann funktioniert es.
Kann mir bitte jemand auf die Sprünge helfen?
Vielen Dank und einen schönen Sonntag.
Sabine
8 Antworten
-
Hallo Sabine, bei der Verbinding zwischen 'Kalkulation' und 'Kontakte' handelt es sich offenbar um eine 1:N-Verknüpfung (1 Kalkulation, N Kontakte). Deshalb bekommst du mit 'Kontakte.Zinstage' immer ein Array zurück (zu erkennen an den eckigen Klammern bei "[number]"), egal, wieviele Datensätze tatsächlich verknüpft wurden.
Du kannst das testen, indem du schreibst: first(Kontakte.Zinstage). Dann müsste die Formel eigentlich funktionieren, weil Ninox nur auf den ersten verknüpften Datensatz zugreift und den Wert von 'Zinstage' als einfache Zahl übergibt.
-
said:
Kann der Fehler darin liegen, dass ich die Verknüpfung falsch habe?Hm, wenn du mit first(Kontakte.Zinstage) gearbeitet hast, sollte die Formel eigentlich funktionieren. Das Unendlich-Zeichen erscheint wie gesagt immer bei Division durch Null. Deshalb war das die erste Idee. Ich würde noch mal alle an der Formel beteiligten Felder und deren Werte überprüfen.
Davon abgesehen: Die Information, dass es sich um eine 1:N-Verknüpfung von 'Kalkulation' (1) zu 'Kontakte' (N) handelt, ergab sich für mich nur aus deinem Screenshot vom Script-Editor. Dort ist links in der Feldliste die Verknüpfung 'Kontakte' mit einem Pfeil nach links versehen. Im Formular müsste die Verknüpfung zu 'Kontakte' als Tabelle dargestellt werden. N:1-Verknüpfungen haben einen Pfeil nach rechts und im Formular nur ein einfaches Verknüpfungsfeld.
Wenn du es aber eigentlich umgekehrt brauchst - sprich: 1 Kontakt, N Kalkulationen -, dann müsstest du die Verknüpfung tatsächlich umkehren. 'Kalkulation': N. 'Kontakte: 1. Das geht aber leider nur, in dem man die falsche Verknüpfung löscht und eine neue Verknüpfung erstellt.
Und dann sollte die Formel auch ohne first() funktionieren, weil die Angabe 'Kontakte.Zinstage' nur noch einen einzigen Wert zurückgeben könnte, nämlich den des verknüpften Kontakt-Datensatzes.
Das mit den Verknüpfungen ist am Anfang manchmal etwas verwirrend, deshalb habe ich vor einiger Zeit mal ein kleines Tutorial dazu gemacht. Darüber hinaus gibt es auch von Ninox einige Materialien dazu, die in dem Posting ebenfalls verlinkt sind:
https://forum.ninox.de/t/p8h0t0r/einsteiger-tutorial-zu-verknupfungen-in-ninox
Content aside
- vor 1 JahrZuletzt aktiv
- 8Antworten
- 82Ansichten
-
3
Folge bereits