[Gelöst] Feldname als Datentyp Feld aus String ziehen

22. Juni 2006 14:20

Hallo zusammen,

ich versuche gerade in einem Report über eine Feldnummer in der Tabelle Field den Feldnamen zu bekommen, um dann den Feldinhalt auszugeben.

Leider wird der Feldname als String und nicht als Feld interpretiert.

Gibt es hierfür eine Lösung?

lg
pbu
Zuletzt geändert von pbu am 23. Juni 2006 10:26, insgesamt 1-mal geändert.

22. Juni 2006 14:33

Hallo pbu,

kannst du deine Frage etwas genauer Beschreiben, ich Verstehe nicht genau welchen Feldinhalt du ausgeben möchtest?

Das Feld "FieldName" ist vom Typ Text 30, daher also ein String!

Wie meinst du das "..nicht als Feld interpretiert"?
Gruß Mikka

22. Juni 2006 14:53

Hallo pbu

Wenn du einen Feldinhalt in einem Report ausgeben möchtest, musst du ja zuerst die entsprechende Tabelle als DataIem im Report eintragen. Anschliessend wechselst du über das Menü¨Ansicht in die Sections des Reports. Wenn du nur das FeldMenu aufrufst (über Menü Ansicht, oder direkt aus der Symbolleiste), erhälst du alle Felder der Tabelle zur Auswahl. Du kannst jetzt ein Feld anklicken und auf dem Report platzieren. Dadurch wird dann der Feldinhalt ausgegeben, wenn der Report gestartet wird.

War es das, was du gemeint hast?

22. Juni 2006 14:57

[Beitrag von Dynamics NAV Tipps & Tricks nach Dynamics NAV 4.xx verschoben, da es eine Frage (und kein Tipp oder Trick) ist.]

22. Juni 2006 14:59

Hallo Mikka,

ich möchte den Feldinhalt des Feldes "Test 1" einer bestimmten Tabelle ausgeben. Da ich aber nicht direkt über den Feldnamen sondern die Feldnummer gehen möchte z.B. FOR I := 50000 TO 99999 (Damit ich den Report nicht immer ändern muß, wenn der Kunde ein neues Feld bekommt.), ziehe ich mir den zugehörigen Feldnamen aus der System-Tabelle Field.
Hier bekomme ich aber einen String (Data Type) 'Test 1', den ich ohne Änderung nicht als Field (Data Type) "Test 1" verwenden kann. Wie kann ich das ändern?


Field.SETRANGE(TableNo,5200);
Field.SETRANGE("No.",FieldNumber[i]);
IF Field.FIND('-') THEN BEGIN
FeldName := Field.FieldName;
Valu[i] := FORMAT(FIELDNAME(FeldName); //Fehlermeldung: Es
wird ein Feld einer Datensatzvariablen erwartet.
END ELSE

Gruß
pbu

22. Juni 2006 15:21

Das was du willst, lässt sich mit den RecRef-Funktionen lösen. Darüber wurde hier im Forum schon häufiger diskutiert

Schau doch mal nach unter:
Tip 1
Tip 2
Tip 3 (für Reports)

Wenn du in der Suche den Begriff RecRef eingibst, findest du noch mehr dazu

22. Juni 2006 16:55

Vielen Dank,

die Tips haben geholfen.

gruß
PBU