0

Aus Textbox in Untertabelle suchen

Hallo Community,

ich benötige bitte eure Hilfe.

Ich habe eine Tabelle Namens: Buchung

und eine Untertabelle Namens: Aufträge

 

In der Tabelle Buchung gibt es eine Textbox Namens: Auftragsnummer

Wie ist es möglich, wenn ich in das Textfeld Auftragsnummer eine Nummer eingebe, das er in der Untertabelle nach dieser Nummer sucht und mir den dazugehörige Datensatznummer in eine ander Textbox Namens Datensatznummer wiedergibt?

 

besten Dank im Voraus 

schönen Abend noch 

lg Johannes

7 Antworten

null
    • Johannes_B
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Ich korrigiere es ist keine Untertabelle sondern eine verknüpfte Tabelle

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Johannes,

    als Trigger nach Änderung im Textbox1:

    ...

    let myOrder:=Auftragsnummer;

    Datensatznummer:=first('Aufträge'[Auftragsnummer=myOrder]).text(Nr)

    ---

    Leo

    • Johannes_B
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Guten Morgen Leo,

    der Code funktioniert bei einer 1:N Verknüpfung.

    ich habe aber eine N:1 Verknüpfung (siehe Bild)

    615894DF-6D7C-4E3E-A0F5-E0892BCB5691

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Johannes,

    mir ist nicht klar, warum du in einem verknüpften Datensatz etwas suchen möchtest. Wenn du die ganze Tabelle Aufträge durchsuchen möchtest dann:

    ...

    let myOrder:=Auftragsnummer;

    Datensatznummer:=first(select 'Aufträge'[Auftragsnummer=myOrder]).text(Nr)

    ...

    Leo

    • Johannes_B
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Es geht mir darum das ich im Endeffekt mit der Herausgesuchten Datensatznummer die Verknüpfung erstellen möchte. Im Enddefekt soll folgendes passieren: Wenn ich beispielweise die Auftragsnummer 1008 eingebe dann soll der Datensatz verknüpft werden der die Auftragsnummer 1008 hat. Da die Auftragsnummern nicht aufbauend vergeben werden ist eine Verknüpfung mit der id direkt nicht möglich.

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Dann kannst du die Formel so umschreiben:

    ...

    let myOrder:=Auftragsnummer;

    'Aufträge':=first(select 'Aufträge'[Auftragsnummer=myOrder])

    ...

    Wobei ich persönlich würde einfach aufs Fels Aufträge klicken und dort oben die Auftragsnummer tippen.

    Leo

    • Johannes_B
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Ich habe mir jetzt einen Code gebastelt der funktioniert. Dein zweiter Vorschlag ist auch darin Verbaut, welcher den restlichen Code erst zum funktionieren bringt.

     

    let SNr := 'Auftrag suchen';
    let DSnum := first((select 'PM-Aufträge')['PM Nummer' = SNr]).text(Nr);
    'PM-Auftrag wählen' := number(DSnum);
    let one := if 'Auftrag suchen' > 10000000 then
    1
    else
    0
    end;
    let two := if 'Auftrag suchen' < 99999999 then
    1
    else
    0
    end;
    let three := if DSnum = null then 1 else 0 end;
    let pruefung := one + two + three;
    let check := if pruefung = 3 then
    dialog("PM-Auftrag nicht vorhanden", "Soll ein neuer PM-Auftrag angelegt werden?", ["Ja", "Nein"])
    else
    void
    end;
    if check = "Ja" then
    let my := this;
    let myNew := (create 'PM-Aufträge');
    myNew.Zeitbuchungen.(Nr := my);
    myNew.('PM Nummer' := SNr);
    popupRecord(myNew)
    end

    Dadurch das ich die Auftragsnummern kenne kann ich so Zeit und Klicks sparen.

    gruß Johannes