Erzeugung mehrerer Untertabellen-Datensätze per trigger ohne dublikate
Hallo Zusammen,
bisher war ich immer stiller Mitleser und konnte so meine Ninox-probleme weitestgehend lösen. Vielen dank dafür. Gerade komme ich leider nicht weiter:
Ich habe eine Datenbank die eine Qualifikationsmatrix darstelt. Da werden unterschiedliche Qualifikationen, die wiederum Stellen zugeordnet werden dann für die einzelnen Personen bewertet.
Ordne ich einer Person eine Stelle zu, kann ich mir per Trigger in der Untertabelle die zugehörigen Qualifikationen vorausgefüllt auflisten lassen und dann bewerten.
Hier der Code zur Schaltfläche:
let mystelle := Person_Stelle;
let myuser := this;
let myKoennen := (select Anforderung where Stellen = mystelle);
for i in myKoennen do
let neuereintrag := (create 'Können Status');
neuereintrag.(Personen := myuser);
neuereintrag.('Können für Bewertung' := i.'Können'); (das wäre quasi das Feld mit den Dublikaten)
void
end
funktioniert auch schön. So weit so gut.
Wenn ich nun aber die zugeordnete Stelle ändere und den trigger starte, kann es sein, dass er mir in der Untertabelle dublikate erzeugt.
Kann ich das direkt ausschließen oder muss ich einen weiteren trigger zum dublikate entfernen setzen und wenn ja wie?
vielen Dank schonmal.
4 Antworten
-
Sollen denn die bisherigen Einträge in der Untertabelle enthalten bleiben beim wechseln der Stelle?
sonst setze doch zusätzlich eine if-Abfrage in die Schleife.....
for i in myKoennen
...
...
if 'Können für Bewertung'.i.'Können' then neuereintrag.('Können für Bewertung' := i.'Können'); end
usw...
Oder du löschst den Eintrag in der Untertabelle..
Nur so als Idee..
-
Hi Tobias,
ja wäre super wenn die bisherigen Einträge erhalten blieben.
-
mit 2 Buttons hab ichs jetzt. Gibts die Möglichkeit das nacheinander über einen trigger laufen zu lassen?
anbei der zweite code:
let mypers := this;
for i in select 'Können Status' where Personen = mypers do
delete (select 'Können Status' where 'Können für Bewertung' = i.'Können für Bewertung' and Nr != i.Nr)
end -
haha wenn ich Held einfach ein + dazwischen schreib, hab ichs schon. :D
schönes Wochenende.
Content aside
- vor 3 JahrenZuletzt aktiv
- 4Antworten
- 230Ansichten