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
-
Ich korrigiere es ist keine Untertabelle sondern eine verknüpfte Tabelle
-
Hallo Johannes,
als Trigger nach Änderung im Textbox1:
...
let myOrder:=Auftragsnummer;
Datensatznummer:=first('Aufträge'[Auftragsnummer=myOrder]).text(Nr)
---
Leo
-
Guten Morgen Leo,
der Code funktioniert bei einer 1:N Verknüpfung.
ich habe aber eine N:1 Verknüpfung (siehe Bild)
-
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
-
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.
-
Dann kannst du die Formel so umschreiben:
...
l
et 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
-
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)
endDadurch das ich die Auftragsnummern kenne kann ich so Zeit und Klicks sparen.
gruß Johannes
Content aside
- vor 5 JahrenZuletzt aktiv
- 7Antworten
- 1516Ansichten