0

Ein bestimmtes Feld aus einer anderen Tabelle kopieren

Hallo,
ich komme mal wieder nicht weiter. Bitte um Hilfe.

Ich habe eine Tabelle "Druckpreiskalkulation" mit einem Feld DruckartikelFront mit dem Wert "S01001" (also eine Artikel-Nr).
In einer anderen Tabelle "PreisePP" habe ich das Feld "Druckartikel" (Artikel-Nr.) und ein Zahlenfeld "Preis". Also eine einfache Artikelliste.
Nun möchte ich in der ersten Tabelle den passenden Preis zum Feld DruckartikelFront darstellen. Über eine Verknüpfung möchte ich nicht gehen, da sich die Artikel-Nr. in der ersten Tabelle durch diverse Eingaben selbst berechnet.
Mit select bekomme ich es nicht hin, da ninox mir dann sagt: der Ausdruck liefert mehrere Ergebnisse zurück.

let myArtF := DruckartikelFront;
DruckpreisFront := select PreisePP where Druckartikel = myArtF).Preis

Wenn jemand eine Idee hat, wäre das toll :-)

Gruss
Frauke

Kleine Beispieldatenbank hier als link:

9 Antworten

null
    • fherroeder
    • vor 6 Jahren
    • Gemeldet - anzeigen
    • fherroeder
    • vor 6 Jahren
    • Gemeldet - anzeigen
    • AxelE
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Auf die Schnelle: Ich sehe in der select-Zeile hinter myArtF eine Klammer, die m. E. nicht dahin gehört.
    • AxelE
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Versuch doch mal ...

    let myArtF := DruckartikelFront;
    DruckpreisFront := first(select PreisePP where Druckartikel = myArtF).Preis
    • Ninox Premiumpartner
    • Bastian_Vorholt
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Nein schreib bei der Tabelle Druckpreiskalkulation nach datensatzänderung aber bitte nicht auf das Feld Preis sondern nach der änderung von dem feld Druckartikel den Trigger setzen

    let myArtF := DruckartikelFront;
    for p in select PreisePP where Druckartikel = myArtF do
    let myPreis := p.Preis;
    DruckpreisFront := myPreis
    end
    • Ninox Premiumpartner
    • Bastian_Vorholt
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Oh Axel war schneller so gehts natürlich auch.
    • fherroeder
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Scheint zu funktionieren! Werde jetzt mal alle Felder die ich brauche so definieren.

    Ganz herzlichen Dank!!!
    • fherroeder
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Es funktionieren beide Lösungen :-)
    • AxelE
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Wobei magics Lösung wohl effizienter ist, wenn man mehrere Datenfelder auslesen und übertragen will. Allerdings ist mir nicht klar, wozu in dem Beispiel p.Preis erst in die Variable myPreis übertragen und dann von dort in das Datenfeld DruckpreisFront eingelesen wird:

    let myPreis := p.Preis;
    DruckpreisFront := myPreis


    Das müsste m. E. auch direkt gehen:

    DruckpreisFront = p.Preis

    Also, im gegebenen Zusammenhang:

    let MyArtF := DruckartikelFront;
    for SatzNr in select PreisePP where Druckartikel = myArtF do
    DruckpreisFront := SatzNr.Preis;
    DatenfeldX := SatzNr.FeldX;
    NocheinFeld := SatzNr.NochnFeld;
    [...]
    end


    Ich will keineswegs klugscheißen, würde das aber gerne klären, da ich mir selbst nie ganz sicher bin, ob ich nicht vielleicht einen Denkfehler begangen oder etwas übersehen habe.

Content aside

  • vor 6 JahrenZuletzt aktiv
  • 9Antworten
  • 4800Ansichten