[Gelöst] Anzeige des Feldinhalts einer dritten Tabelle

28. November 2013 16:50

Hallo,

ich möchte gerne in einer Form den Inhalt eines Feldes einer dritten Tabelle anzeigen.
Die 3. Tabelle ist mit der Haupttabelle der Form wie folgt verbunden:

Form: 81071 Sim_FAKomponenten
Table: 55407 "Sim. Prod. Order Component"
Field: "Prod. Order No."

Verbindung zur 2. Tabelle:
Table: 81005 VM_LV_Berechnung
Field: "Simulierter FA-KopfNr" (= "Prod. Order No." der Tabelle 55407)
Field: Projektnr.
Field: Vor-LV
Field: Vor-Pos-ZeilenNr.

Verbindung zur 3. Tabelle:
Table: 50026 LV_Konstruktionsdetails
Field: Projektnummer (= Projektnr. Table 50026)
Field: LV_Nummer (= Vor-LV Table 50026)
Field: LV-Pos-Zeilennr. (= Vor-Pos-ZeilenNr. Table 50026)
Field: Regelung_Bauseits --> der Inhalt dieses Feldes soll in der Form 81071 angezeigt werden

Wie kann ich das am Besten realisieren? Geht das mit einer Variable und diese dann in einer Textbox anzeigen, und wenn ja wie?
Zuletzt geändert von FJS am 29. November 2013 14:13, insgesamt 1-mal geändert.

Re: Anzeige des Feldinhalts einer dritten Tabelle

28. November 2013 17:05

Auf den ersten Blick würde ich sagen, du kannst doch mehrere Zeilen zu einem Datensatz in Form 81071 haben. Soll dann jedesmal gewechselt werden, wenn du auf eine andere Zeile wechselst? Ist da noch irgendwo eine Subform im Spiel?

Re: Anzeige des Feldinhalts einer dritten Tabelle

28. November 2013 17:12

HattrickHorst hat geschrieben:Auf den ersten Blick würde ich sagen, du kannst doch mehrere Zeilen zu einem Datensatz in Form 81071 haben. Soll dann jedesmal gewechselt werden, wenn du auf eine andere Zeile wechselst? Ist da noch irgendwo eine Subform im Spiel?


Wenn man die Form 81071 aufruft, ist sie immer nur auf eine "Prod. Order No." der Tabelle 55407 gefiltert. Eine Subform ist nicht im Spiel.

Re: Anzeige des Feldinhalts einer dritten Tabelle

28. November 2013 17:14

FJS hat geschrieben:Wenn man die Form 81071 aufruft, ist sie immer nur auf eine "Prod. Order No." der Tabelle 55407 gefiltert. Eine Subform ist nicht im Spiel.

Das kann schon sein, aber zu einem Produktionsauftrag gibt es dann ja mehrere Leistungsverzeichniszeilen, oder?

Re: Anzeige des Feldinhalts einer dritten Tabelle

29. November 2013 08:41

HattrickHorst hat geschrieben:
FJS hat geschrieben:Wenn man die Form 81071 aufruft, ist sie immer nur auf eine "Prod. Order No." der Tabelle 55407 gefiltert. Eine Subform ist nicht im Spiel.

Das kann schon sein, aber zu einem Produktionsauftrag gibt es dann ja mehrere Leistungsverzeichniszeilen, oder?


Hallo HattrickHorst,

nein, zu einem Produktionsauftrag gibt es nur eine LV-Zeile

Re: Anzeige des Feldinhalts einer dritten Tabelle

29. November 2013 12:04

Ok, finde ich inhaltlich etwas seltsam, aber wenn das so ist, dann ist es doch recht einfach. Irgendwie sowas wie folgendes sollte das lösen:
Code:
CLEAR(T50026);
T81005.SETRANGE("Simulierter FA-KopfNr","Prod. Order No.");
IF T81005.FINDFIRST THEN BEGIN
  T50026.SETRANGE(Projektnummer,T81005."Projektnr.");
  T50026.SETRANGE(LV_Nummer,T81005."Vor-LV");
  T50026.SETRANGE("LV-Pos-Zeilennr.",T81005."Vor-Pos-ZeilenNr.");
  IF T50026.FINDFIRST THEN;
END;

Evtl. mußt du noch aus Performancegründen einen anderen Schlüssel setzen oder sowas. Das Ganze kommt dann in OnAfterGetRecord von deiner Basisform und in der SourceExpression des Feldes kannst du dann T50026.Regelung_Bauseits angeben.

Re: Anzeige des Feldinhalts einer dritten Tabelle

29. November 2013 14:12

HattrickHorst hat geschrieben:Ok, finde ich inhaltlich etwas seltsam, aber wenn das so ist, dann ist es doch recht einfach. Irgendwie sowas wie folgendes sollte das lösen:
Code:
CLEAR(T50026);
T81005.SETRANGE("Simulierter FA-KopfNr","Prod. Order No.");
IF T81005.FINDFIRST THEN BEGIN
  T50026.SETRANGE(Projektnummer,T81005."Projektnr.");
  T50026.SETRANGE(LV_Nummer,T81005."Vor-LV");
  T50026.SETRANGE("LV-Pos-Zeilennr.",T81005."Vor-Pos-ZeilenNr.");
  IF T50026.FINDFIRST THEN;
END;

Evtl. mußt du noch aus Performancegründen einen anderen Schlüssel setzen oder sowas. Das Ganze kommt dann in OnAfterGetRecord von deiner Basisform und in der SourceExpression des Feldes kannst du dann T50026.Regelung_Bauseits angeben.


Perfekt, das war`s, Danke!