0

Auswahlfeld globale Funktion

Hallo,

ich habe ein Problem mit Globalen Fuktionen und Auswahlfeldern:

Ich benutze eine globale Funktion um einen Datensatz zu löschen und einen neuen zu erstellen. Bei dem neue erstellten Datensatz soll das Auswahlfeld den Wert des Feldes aus dem gelöschten Datensatz erhalten. Diesen Wert übergebe ich beim Aufruf der Funktion.

Der alte Datensatz wird gelöscht und ein neuer angelegt leider wird das Auswahlfeld nicht auf den neuen Datensatz gestellt.

Hier der Aufruf der Funktion:

--

fBMAende(this, number(Bearbeitung))

--

Bearbeitung ist das Auswahfled 

Hier die globale Funktion:

--

function fBMAende(BMA : BearbeitungenMehrfach,Bearbeitung : number) do
delete BMA;
let BMAneu := (create BearbeitungenMehrfach);
BMAneu.(Bearbeitung := Bearbeitung);
openRecord(BMAneu);
end

--

Vielleicht kann mir jemand helfen.

 

Gruß Micha

3 Antworten

null
    • Torsten_Stang.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Michael,

     

    --

    function fBMAende(BMA : BearbeitungenMehrfach,Bearbeitung : number) do
    let myBearb := BMA.Bearbeitung;
    delete BMA;
    let BMAneu := (create BearbeitungenMehrfach);
    BMAneu.(Bearbeitung := myBearb);
    openRecord(BMAneu);
    end

    --

    • Michael_Hansen
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Torsten,

     

    vielen Dank für deine Antwort. Leider hat auch der Ansatz mit der Variable keinen erfolg. Ich gehe nun den Umweg über eine Hilfstabelle. Hier schreibe ich den Aktuellen Wert des Auswahlfeldes rein. Mit Trigger zum neuen Datensatz lese ich diese aus und setze den Wert für das Auswahlfeld.

     

    Gruß

    Micha

    • Torsten_Stang.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Michael,

     

    eben seh' ich's erst - Du übergibst der Funktion einen Wert in eine Variable, die genauso wie das Feld heisst ("Bearbeitung : number"). Probier's mal so:

     

    --

    function fBMAende(BMA : BearbeitungenMehrfach,myBearbeitung : number) do
    delete BMA;
    let BMAneu := (create BearbeitungenMehrfach);
    BMAneu.(Bearbeitung := myBearbeitung);
    openRecord(BMAneu);
    end

    --