0

Daten von einer Tabelle in eine andere Tabelle zusammenführen.

  Ich suche zuerste den Datensatz  (Feld ist die Steuernummer) und wenn dieser gefunden wird sollte er die Felder zusammenführen und nicht neuen Datensatz erstellen. Was mache ich falsch? Kann mir jemand einen Tipp bitte geben. Vielen Dank

let SuchSteuernummer := Steuernummer;
let myID := first(select Mitglieder where Steuernummer = SuchSteuernummer);
if myID != null then
let my := this;
let myDS := (create Mitglieder);
myDS.(Name := my.'Nachname + Name');
myDS.(Steuernummer := my.Steuernummer);
myDS.(Geschlecht := my.Geschlecht);

popupRecord(myID)
else
alert("Ein Datensatz mit dem Namen " + 'Nachname + Name' + " wurde nicht gefunden!")
end

6 Antworten

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

    Hi,

     

    versuch mal statt "if myID !=null then" mit "if not myID then".

     

    lg, Torsten

    • Claus.1
    • vor 3 Jahren
    • Gemeldet - anzeigen
      Hallo Torsten Danke für deine Hilfe if myID !=null then (hier wird verglichen ob die Steuernummer schon gibt. Wenn ja dann sollte er mir die Felder übertragen die ich unten angegeben habe) Durch let myDS := (create Mitglieder);  wir mir ein neues Mitglied erstellt und ich möchte eigentlich nur dies mit dem gefunden zusammenführen.
    • Torsten_Stang.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Claus,

    öhm, ja, hätte mir auch klar sein können, wenn ich's ordentlich gelesen hätte... :-)

     

    Also:

    let SuchSteuernummer := Steuernummer;
    let myID := first(select Mitglieder where Steuernummer = SuchSteuernummer);
    if myID then
       let my := this;
       let myDS := (create Mitglieder);
       myDS.(Name := my.'Nachname + Name');
       myDS.(Steuernummer := my.Steuernummer);
       myDS.(Geschlecht := my.Geschlecht);
       popupRecord(myID)
    else
       alert("Ein Datensatz mit dem Namen " + 'Nachname + Name' + " wurde nicht gefunden!")
    end

     

    lg, Torsten

    • Claus.1
    • vor 3 Jahren
    • Gemeldet - anzeigen
      Vielen Dank Aber er erstellt mir immer noch einen neuen Datensatz (es scheinen danch ein 2. auf) es sollte eigentlich den gefunden überschreiben oder ergänzen und keinen neuen Datensatz erzeugen. lg Claus
    • Torsten_Stang.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Heute bin ich wohl etwas schwer von Begriff, sorry.

     

    let SuchSteuernummer := Steuernummer;
    let myID := first(select Mitglieder where Steuernummer = SuchSteuernummer);
    if myID then
    let my := this;
    myID.(Name := my.'Nachname + Name');
    myID.(Steuernummer := my.Steuernummer);
    myID.(Geschlecht := my.Geschlecht);
    popupRecord(myID)
    else
    alert("Ein Datensatz mit dem Namen " + 'Nachname + Name' + " wurde nicht gefunden!")
    end

    • Claus.1
    • vor 3 Jahren
    • Gemeldet - anzeigen
      Super Torsten das war meine Problemlösund Danke für die Hilfe! Tip Top