Verschachtelte for-Schleifen
Hallo NINOX-Gemeinde,
dürfen for-Schleifen ineinander verschachtelt werden?
Ich habe in einem Formular ein Mehrfach-Auswahlfeld mit Namen (to) und möchte aus den Datensätzen einer untergeordneten Tabelle (Kontakte) entsprechend der ausgewählten Einträge des Auswahlfeldes die eMail-Adressen in einem berechneten Feld zusammenstellen.
Allerdings wird die äußere Schleife immer nur für den ersten Datensatz durchlaufen.
Gibr es hier eine Idee, was ich falsch mache?
let myAr := split(text('to'), ",");
for myName in myAr do
for myRec in Kontakte do
if myRec.(Vorname + " " + Name) = myName then
myName + " " + text(first(myRec.KontakteEMail[Typ = "Arbeit"].'E-Mail'))
end
end
end
Besten Dank und viele Grüße aus Thüringen
Jörg
3 Antworten
-
Hallo Jörg,
brauchst du wirklich Schleifen dafür? Ich möchte jetzt nicht die Sinnhaftigkeit solchen Konstrukt in Frage stellen. Meiner Meinung nach währe es viel besser, eine Verknüpfung zu Kontakten anstatt Mehrfachauswahlfeld zu benutzen.
Wenn du dir sicher bist, dass die Untertabelle Kontakte mehr als einen Kontakt beinhaltet (also es sind mehrere Kontakte im Formularansicht sichtbar), dann würde ich so versuchen:
---
let myAr := text('to');
join(Kontakte[contains(myAr, Vorname + " " + Name)].(Vorname + " " + Name + " " + first(KontakteEMail[text(Typ)="Arbeit"].'E-Mail')), "
")---
Leo
-
Ah so, Berechnungsfeld sollte mehr als eine Zeile beinhalten (Unteren Rand nach Unten ziehen)
Leo
-
Besten Dank Leo,
durch Deinen alternativen Code funktioniert es jetzt wie erwartet. Mit der direkten Verknüpfung zu den Kontakten hast Du absolut recht, das wäre die NINOX-/DB-adäquate Herangehensweise. Allerdings geht es mir hier primär um die Formularfunktionalität ein to- sowie cc-email-Adressfeld mit einfachen Mouseklicks zu füllen.
Ein schönes Wochenende und viele Grüße
Jörg
Content aside
- vor 6 JahrenZuletzt aktiv
- 3Antworten
- 2120Ansichten