weitere where-Bedingung
Hallo zusammen,
ich habe nachfolgendes Skript, welches auch wunderbar funktioniert:
let my := this;
let myADR := text(Adressbuch.'Adress-Nr.:');
first((select Adressbuch where 'Adress-Nr.:' = myADR).Bankverbindung.IBAN)
Dieses Skript gibt die Korrekte Bankverbindung für einen Vertrag, der mit einer Adressverwaltung verknüpft ist aus. Es spielt auch keine Rolle, wie viele Bankverbindungen hinterlegt sind, die erste wird immer genommen!
Wenn ich dieses Verhalten ändern möchte und nicht die erste Bankverbindung nehmen will, sondern eine aktive, die mit einer Checkbox Aktive = 1 ausgeprägt ist, funktioniert mein Skript nicht mehr. Hat einer von Euch eine Idee?
Gruß
Michael
7 Antworten
-
Die Abfrage muss erweitert werden.
Je nachdem wo sich die Checkbox befindet muss es angepasst werden.
Befindet sich die Checkbox neben der IBAN im gleichen Record, lautet die Bedingung:let my := this;
let myADR := text(Adressbuch.'Adress-Nr.:');
first((select Adressbuchm['Adress-Nr.:' = myADR and .Bankverbindung.'Checkbox Aktive' = 1]).Bankverbindung.IBAN)Wenn 'Checkbox Aktive' sich woanders befindet den entsprechenden Weg dorthin anpassen.
Damit bekommst du wieder nur aufgrund von first() den ersten Record, der dem Kriterium entspricht. Sollten mehrere Records vorhanden sein, die dem Suchkriterium entsprechen, muss first() entfernt werden und das zurückgegebene Array mit item() ausgewertet werden. -
Ich habe es ausprobiert aber es funktioniert nicht:
let my := this;
let myADR := text(Adressbuch.'Adress-Nr.:');
first((select Adressbuch where 'Adress-Nr.:' = myADR and text(Bankverbindung.Aktiv) = "Ja").Bankverbindung.IBAN)die zweite Bedingung wird nicht berücksichtigt (es wird nach wie vor die erste Bankverbindung ausgegeben, die inaktiv ist), nehme ich first vor dem select weg, bekomme ich als ergebnis beide Bankverbindungen.
Woran kann das liegen?
Michael
-
Dann probieren wir es mal anders, wenn ich den Aufbau und die Verknüpfungen deiner Tabellen richtig interpretiere.
let my := this;
let myADR := text(Adressbuch.'Adress-Nr.:');
(select Bankverbindung where Adressbuch.'Adress-Nr.:' = myADR and Aktiv).IBANWobei ich nicht verstehe, wozu das 'let my:=this' im Script vorhanden ist, wenn es nicht genutzt wird.
-
super Danke, hat nun funktioniert. Du sagtest let my := this; wird nicht benutzt. Ich bin kein Entwickler, sondern mache das als Hobby. Wozu wird let my := this; benutztP
-
vielem Dank
Content aside
- Status Answered
-
1
„Gefällt mir“ Klicks
- vor 2 JahrenZuletzt aktiv
- 7Antworten
- 96Ansichten
-
4
Folge bereits