DIALOGFELD recordID aus Auswahl weiterverarbeiten
Hallo liebe Community,
über ein Dialogfeld lasse ich die Auswahl eines Datensatzes treffen.
Dazu lasse ich mir ein Textfeld des Datensatzes anzeigen.
Die 'TABELLE1' ist in diesem Fall verknüpft:
let MCH := for i in 'TABELLE1'.'UNTERTABELLE1 do
i.'TEXTFELD'
end;
let myAuswahl := dialog("Bitte wählen!", "PROGRAMMM", MCH);
Funktioniert gut. Wie kann ich denn aus der Antwort mit der Datensatznummer der Auswahl weiterarbeiten?
Mein versuch funktioniert nicht, ich brauche die Nummer des ausgewählten Datensatzes um diese in ein dynamisches Auswahlfeld zu übertragen.
let PG := first((select 'TABELLE1)[Nr = myAuswahl]).Nr;
Kann mir jemand helfen?
Viele Grüße
Stefan
14 Antworten
-
Hallo Stefan,
fürchte ich hab noch nicht ganz verstanden, was du vor hast, aber hier ein paar Inputs.
Erstmal, wenn du über den Dialog eine Record Nr zurück bekommst, brauchst du kein select für die Tabelle, das geht dann auch mit der Funktion record()
record('TABELLE1', number(Nr))
Das zweite, woran das Ganze wahrscheinlich bei dir scheitert, ist, dass du aus dem Dialog Text zurückbekommst und sowohl record() als auch für das Setzten des dyn Auswahlfeldes eine Number notwendig ist. Wenn PG dein dyn Auswahlfeld ist musst du außerdem das let weglassen. Und die Abfrage des Records kannst du dir dann natürlich auch wieder sparen. Also ganz einfach:
PG := number(myAuswahl)
-
Ergänzung:
Zur Anzeige im Dialogfeld möchte ich nicht die Datensatznummer anbieten sondern den Inhalt des 'TEXTFELD' !!
-
Hm, was mir auffällt: Du bietest mit
let MCH := for i in 'TABELLE1'.'UNTERTABELLE1' do i.'TEXTFELD' end; let myAuswahl := dialog("Bitte wählen!", "PROGRAMMM", MCH);
Datensätze aus 'UNTERTABELLE1' an, willst aber damit auf einen Eintrag in 'TABELLE1' verweisen (und das, in dem Du den Inhalt von 'TEXTFELD' mit dem Inhalt von 'Nr' vergleichst):
let PG := first((select 'TABELLE1')[Nr = myAuswahl]).Nr;
Ich hätte hier eher etwas wie
let PG := first(select 'UNTERTABELLE1' where 'TEXTFELD'=myAuswahl).Nr
erwartet.
-
Danke für die Antworten, michi : ist mir zu komplex :-) Torsten Stang : funzt nicht :-(
Habs aber gelöst mit:
let GR := 'VERKNÜPFTER DATENSATZ TABELLE1'; let MCH := for i in 'TABELLE1'.'UNTERTABELLE1' do i.Nr end; let myAuswahl := dialog("Bitte wählen!", "PROGRAMMM", MCH.'TEXTFELD); let PG := first((select 'UNTERTABELLE1')['VERKÜPFUNG ZU TABELLE1' = GR][TEXTFELD = myAuswahl]);
Jetzt habe ich eine neue Denkaufgabe:
Ich habe in einer 'UNTERTABELLE' mehrere Datensätze aber immer kleiner <5.
Jetzt möchte ich über das Dialogfeld einen zum Öffnen auswählen. Anbieten möchte ich den Text eine DAF im Dialog:
let my := this; let DIA := for i in 'UNTERTABELLE1' do i.text('Auswahl Medium') end; let myAuswahl := dialog("Bitte wählen!", "PROGRAMMM", DIA); let PG := first((select 'UNTERTABELLE1')[ICH = my]['Auswahl Medium' = number(myAuswahl)]); popupRecord(PG)
Es wird zwar brav der Dialog abgefragt, aber passieren tut nix. Habt Ihr dazu eine Idee? VG
Content aside
-
1
„Gefällt mir“ Klicks
- vor 1 JahrZuletzt aktiv
- 14Antworten
- 111Ansichten
-
6
Folge bereits