[gelöst] Captions/Options aus Sekundärtabelle

8. Dezember 2008 16:10

Problem:
Ich lese in einer Form zur eigentlichen Tabelle im OnAfterGetRecord die Tabelle Item mit GrecItem.GET("No.");. Die Daten sind auch (richtig) da. Nur bei den Labels kommt z. B. Control1000000035 raus.
Dies ist der Name der Textbox in welcher der richtige Wert angezeigt wird. Trage ich in der SourceExpression ein Feld aus der Orginal-Tabelle ein funktioniert alles sofort wie gewünscht. Wenn ich dann SourceExpression wieder z.B. auf GrecItem.Description stelle kommt wieder dieser Control-Müll

Ich hab nach Durchforsten der Foren auch schon mal nach dem GET ein CurrForm.UPDATECONTROLS eingebaut - das hat nicht geholfen. Wenn ich an der Textbox CaptionML definiere funktioniert es wie gewünscht - nur will ich eigentlich nicht bei jeder Änderung der Tabelle dieses Form anfassen um dort die Änderung gegebenenfalls nachzuziehen.
Gesucht hab ich im Forum mit "Caption", "Beschreibung", "CaptionML" und "Caption Form". Interessant fand ich die Beiträge zu der funktionialität in der CodeUnit 1 mit dem Trigger 15, aber eigentlich will ich ja gar keine dynamischen Feldbeschreibungen. Ich hab auch noch ein paar Formulare durchgeguckt - aber nirgends wird eine Zusatzinformation aus einer anderen Tabelle angezeigt.

Das gleiche Problem tritt mit den Option-Werten auf. In dem Fall wird immer der Integer-Wert angezeigt.

Geht das prinzipiell nicht und gibt es dafür ne Begründung? Oder was mache ich falsch?

Danke für eure Mühe

WoF
Zuletzt geändert von WoF am 8. Dezember 2008 17:22, insgesamt 1-mal geändert.

Re: Captions/Options aus Sekundärtabelle

8. Dezember 2008 16:18

Zum besseren Verständnis:
Die TableBox auf der Form, in der du die Artikelinfos anzeigen lassen möchtest - was steht dort als SourceExpr drin?
Haben die Labels eine Verbindung zur Textbox mittels der Eigenschaft ParentControl?

Re: Captions/Options aus Sekundärtabelle

8. Dezember 2008 16:27

Die Textbox:
ID: 1000000035
Name: <Control1000000035>
SourceExpr: GrecItem."No."

Das zugehörige Label:
ID: 1000000108
Name: <Control1000000108>
ParentControl: 1000000035
Caption: <Control1000000035>

Ich hoffe mal das das die Infos sind die Du brauchst. Hinweis: da nur Anzeige hab ich die mal auf
Editable: No
gesetzt. Ich hoffe ja nicht dass das einen Einfluss hat - aber man weiss ja nie...

WoF

Re: Captions/Options aus Sekundärtabelle

8. Dezember 2008 16:30

Die Form kann nur dann den Labels die passende Caption mitteilen, wenn die Tabelle, auf die verwiesen wird, auch die SourceTable der Form ist.
Da dies hier nicht der Fall ist, solltest du in der Textbox die CaptionML nachträglich selber setzen.

Re: Captions/Options aus Sekundärtabelle

8. Dezember 2008 16:36

Sowas hab ich befürchtet.
Ist eine Funktion denkbar der ich die Tabelle und das Feld mitgebe und die mir dann die (sprachlich richtige) Caption liefert? Dann brauch ich in Zukunft wenigstens nur noch an die OptionStrings denken...
Die Sache mit der CaptionClass scheidet ja aus - ich will den Wert ja aus der DB abrufen und nicht einen von mir definierten Wert setzen. Oder hab ich da was missverstanden?

Fragen über Fragen.

WoF

Re: Captions/Options aus Sekundärtabelle

8. Dezember 2008 16:42

Es gibt bereits die Funktion FIELDCAPTION. Vielleicht kannst du sie in diesem Zusammenhang für deine Zwecke nutzen (auf die Idee war ich bisher selbst nicht gekommen). Leider kannst du sie nur nicht direkt in der Caption-Eigenschaft nutzen.

Ergo: Wenn du aus dem Label eine Textbox machst, dann kannst du dort als SourceExpr eintragen:
Code:
DeinRec.FIELCAPTION("Dein Feld")


Einfach ausprobieren :-)

Re: Captions/Options aus Sekundärtabelle

8. Dezember 2008 16:57

Nachdem ich grad wieder mal nen Bluescreen unter Vista hatte probier ich das jetzt gleich mal aus. Ich melde mich wieder. Danke einstweilen.

WoF

Re: Captions/Options aus Sekundärtabelle

8. Dezember 2008 17:22

So, habs mehr schlecht als recht hinbekommen.
Leider ist es so wie Natalie schon bemerkt hat - die Caption und auch die CaptionML kann natürlich nicht direkt mit einer Funktion beschreiben. Aber hier hilft das Property CaptionClass weiter. Ich hab hier '1,5,,'+GrecItem.FIELDCAPTION("GPC Code") eingetragen und - oh Wunder - es funktioniert.

Nun bleibt nur noch das Problem mit dem OptionString(ML) - aber da wird wohl nix an einer Definition im Formular vorbeiführen.

Ich betrachte das mal als gelöst...

Danke Natalie für Deine Denkanregungen.

WoF