Bitte um Hilfe bei einem Script für Befehlsschaltfläche
Hallo zusammen,
ich habe mein Anliegen schon fast gelöst, bekomme aber einen Teil nicht hin.
Es geht hierbei um folgende Tabellen
Leads
GesprächspartnerLeads ( ist mit Tabelle Leads 1:N verknüpft)
--- Nachfassungen (Untertabelle von GersprachspartnerLeads)
Aufgaben (mit Leads verknüpft)
in der Untertabelle Nachfassungen habe ich ein Button mit folgendem Script
let me := this;
let betr := 'GesprächspartnerLeads'.Nachfassungen.Betreff;
let newAfg := (create Aufgaben);
newAfg.(
Aufgabe := betr + " "
'Fälligkeitsdatum' := today()
);
openRecord(newAfg);
closeRecord()
das Script, tut was es soll: u.a. Inhalt des Feldes 'Betreff' wird in Tabelle Aufgaben - Feld namens Aufgaben übertragen. Jedoch fehlt mir der Bezug zu Tabelle Leads. Ich habe noch
Leads := me.Nr;
hinzugefügt, wird aber angemeckert. Hat jemand eine Idee, was ich falsch gemacht habe könnte?
danke schon mal und gruss
kruna
4 Antworten
-
'me.Nr' gibt nur die Datensatznummer zurück, Verknüpfungen brauchen aber die komplette ID, welche zusätzlich noch die Kennung der betreffenden Tabelle enthält. Diese ID steht schon in 'me', weshalb du einfach nur das 'Nr' weglassen musst:
Leads := me;
-
Guten Morgen Axel,
ahhhh, wieder etwas dazugelernt, vielen Dank für die Erklärung.
Leider wird wieder 'gemeckert'
Gruß Kruna
-
Hallo Kruna, ich habe mir die Beschreibung noch mal genauer durchgelesen. Der Button befindet sich in der Tabelle 'Nachfassungen', nicht in 'Leads', wovon ich fälschlicherweise ausgegangen war.
Wir befinden uns also in der Tabelle 'Nachfassungen', welche eine Untertabelle von 'GesprächspartnerLeads' ist.
Von hier aus willst du einen neuen Datensatz in der Tabelle 'Aufgaben' erzeugen und diesen mit einem aus der Tabelle 'Leads' verknüpfen. Dazu brauchst du dessen ID, welche hier als Information aber gar nicht vorliegt.
Du muss also schauen, ob es einen Weg gibt, die ID des 'Leads'-Datensatzes zu ermitteln.
'Nachfassungen' ist eine Untertabelle von 'GesprächspartnerLeads', welcher wiederum mit 'Leads' verknüpft ist. Der Weg von 'Nachfassungen' aus könnte also lauten:
me.'GesprächspartnerLeads'.Leads
Was mich dabei irritiert ist die Tatsache, dass du schreibst "GesprächspartnerLeads (ist mit Tabelle Leads 1:N verknüpft)". 1:N würde bedeuten, dass ein Gesprächspartner mit mehreren Leads verknüpft sein kann. Dann würde der oben beschriebene Weg nicht funktionieren, weil Ninox nicht weiß, welcher der Datensätze aus Leads angesprochen werden soll. Man kann für einen solchen Fall festlegen, dass bspw. der erste genommen werden soll:
me.'GesprächspartnerLeads'.first(Leads)
Allerdings wäre das nur eine technische Lösung, denn du willst ja nicht irgendeinen Lead, sondern einen ganz bestimmten. Aber vielleicht hast du dich ja nur vertan und 'GesprächspartnerLeads' ist nicht 1:N, sondern N:1 mit 'Leads' verknüpft. Dann müsste der erste Weg funktionieren.
Wir haben übrigens im Grunde hier wieder das gleiche Problem wie im anderen Thread. Du solltest dich wirklich noch mal grundlegend mit dem Thema Datenmodell befassen. Also: Wie muss ich welche Tabellen auf welche Weise miteinander verknüpfen, um das gewünschte Ziel zu erreichen.
-
Vielen Dank für die ausführliche Erklärung. Du hast, wie immer, vollkommen recht. Ich habe mich verschrieben: 'GesprächspartnerLeads' ist N:1 mit 'Leads' verknüpft. Allerdings werden mir die Aufgaben auch nicht in Leads gezeigt.
Es kann natürlich sehr gut sein, dass ich Tabellen falsch verknüpft habe. DA gebe ich Dir auch vollkommen recht, aber auch hier fehlt mir das nötige Wissen bzw Verständnis dazu. Der größte Teil meiner DB ist aus Vorlagen bzw. Beispielen entstanden und danach habe ich diese mit großartiger Hilfe hier im Forum 'meinen' Vorstellungen dann angepasst. In der Test DB imWebinar ist diese Situation auch dargestellt. Vielleicht hilft Dir das einen besseren Einblick im mein Chaos zu bekommen.
Gruß kruna
Content aside
- vor 3 JahrenZuletzt aktiv
- 4Antworten
- 211Ansichten