Tabellen bzw. Felder verknüpfen (Table Relation)

15. März 2016 17:34

Hallo,
bin eigentlich eher Anwender in NAV, benötige jetzt aber ein verknüpftes Feld in einer Standard-Tabelle.

Es geht um folgendes:
Ich möchte in der Tabelle 5406 "FA-Zeile" ein neues Feld "Artikelbemerkung" hinzufügen, dies soll aus der Tabelle 97 "Bemerkungszeile" kommen.
Wie kann ich das jetzt genau anstellen?
Ich habe bis jetzt ein neues Feld in der Tabelle 5406 angelegt, mit den Eigenschaften von dem Bemerkungsfeld der Tabelle 97 (Data Type "Text", Length "80"). Anschließend habe ich versucht über die Properties die "TableRelation" anzugeben:
Code:
"Comment Line".Comment WHERE (No.=FIELD(Item No.),Table Name=CONST(Item),Line No.=CONST(10000))

Ich bekomme aber anschließend den Fehler "Das folgende Feld muss Bestandteil des Primärschlüssels sein. Feld: Bemerkung, Tabelle: Bemerkungszeile". Was mache ich falsch bzw. wie mache ich das richtig. Kann doch eigentlich kein großes Hexenwerk sein, oder? :mrgreen:

Danke und Gruß
Michael

Re: Tabellen bzw. Felder verknüpfen (Table Relation)

16. März 2016 16:06

Du darfst die Zeilennummer nicht filtern denn das ist die Bemerkungszeilennummer. Wenn zu einem Artikel eine Bemerkung erfasst wird dann kann die mehrere Zeilen umfassen, die im Feld Zeilennr. (Line No.) nummeriert sind. Das Bemerkungsfeld ist ja nur 80 Zeichen kurz. Also musst du alle Bemerkungszeilen mit Tabellenname=Artikel und Nr.=Artikelnummer filtern.

In der Tabelle könntest du ein FlowField erstellen:
Data Type Boolean
FieldClass FlowField
CalcFormula Exist("Comment Line" WHERE (Table Name=CONST(Item),No.=FIELD(No.)))

Wahlweise ginge auch Integer mit CalcFormula Count statt Exist.

Re: Tabellen bzw. Felder verknüpfen (Table Relation)

16. März 2016 16:16

enh hat geschrieben:Du darfst die Zeilennummer nicht filtern denn das ist die Bemerkungszeilennummer. Wenn zu einem Artikel eine Bemerkung erfasst wird dann kann die mehrere Zeilen umfassen, die im Feld Zeilennr. (Line No.) nummeriert sind. Das Bemerkungsfeld ist ja nur 80 Zeichen kurz. Also musst du alle Bemerkungszeilen mit Tabellenname=Artikel und Nr.=Artikelnummer filtern. Das würde ich in der Page machen, nicht in der Tabelle. Allerdings hast du dann ein Problem denn du willst die Bemerkungen ja nicht in einem separaten Fenster anzeigen wo du alle Zeilen anzeigen könntest.

In der Tabelle könntest du ein FlowField mit CalcFormula Exists machen.


Hi, Danke für deine Antwort.
Das mit der Zeilennr. ist schon ok. Da ich die Information, welche ich in der Tabelle "FA-Zeile" anzeigen möchte immer in der Zeile "10000" der Bemerkungszeile steht. Es ist also nicht erforderlich alle gefunden Artikel-Bemerkungszeilen in der FA-Zeile anzuzeigen. Ich möchte also eigentlich nur auf den Artikel in der FA-Zeile "filtern" und dann die Artikelnr. in der Bemerkungszeile (Zeile 10000) suchen und die Bemerkung anzeigen.

Re: Tabellen bzw. Felder verknüpfen (Table Relation)

16. März 2016 17:23

Okay, glaube ich hab' es jetzt, hast mich mit dem FlowField auf die für mich perfekte Lösung gebracht:

Data Type Text (Da Bemerkungszeile ebenfalls "Text" ist).
DataLength 80
FielClass FlowField
CalcFormula Lookup("Comment Line".Comment WHERE (No.=FIELD(FILTER(Item No.))))

Jetzt wird mir wie gewünscht die Bemerkungszeile des Artikels in der FA-Zeile angezeigt. Danke nochmals!