[GELÖST] LookUp an Hand Table ID (Dynamischer Lookup)

14. Oktober 2008 15:03

Hiho zusammen,

ich habe folgendes Anliegen bzw. Frage :

Ist es möglich einen Lookup an Hand einer Tabellen ID auszuführen, d.h. er soll die Tabelle mit der entsprechenden Tabellen ID öffnen welche ich übergebe. Oder ist es sonst irgendwie möglich an Hand eines Kriteriums immer wieder eine andere Tabelle zu öffnen ?

Gruß
CBT
Zuletzt geändert von CBT am 24. Oktober 2008 15:56, insgesamt 1-mal geändert.

Re: LookUp an Hand Table ID (Dynamischer Lookup)

14. Oktober 2008 17:04

Schau dir mal die TableRelation des Feldes "No." in der Tabelle Sales Line (37) an. Dort wird der Lookup je nach Feld Type auf einer anderen Tabelle durchgeführt.

Wenn dir dies jedoch nicht dynamisch genug ist, musst du den Lookup selbst programmieren, und zwar direkt auf dem Tabellenfeld im OnLookup-Trigger.

Re: LookUp an Hand Table ID (Dynamischer Lookup)

14. Oktober 2008 18:17

Ich denke, dass CBT so etwas meint: Form.run(0,RecRef).
So in dieser Art geht das leider nicht.
Wenn nicht gefiltert werden soll, dann kann man ähnlich wie im RIM-2.0-Tool,
zusätzlich zu der Tabelle die FormID hinterlegen und dann per LookUp starten,
also z.B. so. Form.run(Tabelle.FormID)

Re: LookUp an Hand Table ID (Dynamischer Lookup)

15. Oktober 2008 08:25

@ Mr. Burns :

Form.Run (0, RecRef)


Genau so was hab ich gesucht aber wie du bereits erwähnt hattest, geht das leider nicht ;)
Was genau meinnst du mit RIM-2.0-Tool ? Kann damit leider nichts anfangen.

@ Natalie :

Danke für die Info aber den Part hatte ich mir auch schon zu Gemüte geführt ^^ Allerdings zu undynamisch da ich ja erst jede TableRelation anlegen müsste.

Aber schonmal Danke für eure Rückmeldungen.

Re: LookUp an Hand Table ID (Dynamischer Lookup)

15. Oktober 2008 08:51

In diesem Tool ist das z.B. so gelöst: In einer Tabelle wird die zu ladende Form mit ihrer ID gespeichert.
Beim Lookup wird ein Form.Run(Tabelle.FormID) ausgeführt. Das wäre so ein halbdynamischer Aufruf.
Form.run(0,RecRef) ist leider nicht möglich.

Re: LookUp an Hand Table ID (Dynamischer Lookup)

15. Oktober 2008 09:20

Halbdynamisch ist immerhin besser als alles selber von Hand zu codieren ;)
Wo kann ich mir das Tool denn anschauen bzw. runterladen ?
Vielen Dank für die Info.

Re: LookUp an Hand Table ID (Dynamischer Lookup)

15. Oktober 2008 09:46

Die NAV 5.0 (SP1)-Datenbank enthält die Objekte der Range ist Tabelle 8613 .. 8617, Form 8614..8617,Codeunit 8611. Es ist ein Teil des RIM2.0-Tools.

Re: LookUp an Hand Table ID (Dynamischer Lookup)

16. Oktober 2008 16:12

Da wir NAV 3.XX einsetzen, kann ich dies wohl nicht nutzen ^^ Trotzdem Danke.
Ich habe jetzt mal den Ansatz genommen wie er in der Tabelle 37 eingesetzt wird, da die Anzahl der Tabellen sich in Grenzen hält im Vergleich zum Nutzen beim Kunden.

Mein Ansatz sieht wie folgt aus :

Code:
IF FORM.RUNMODAL (0, LRecSteuerobjekte) = ACTION :: LookupOK THEN BEGIN
  Wert := LRecSteuerobjekte.Objektnummer;
  MODIFY;
END;


Das Problem ist hier allerdings die fest Zuweisung des Feldes Wert. Ist es irgendwie machbar das ganze über FieldRef oder sonst irgendwelche Parameter zu lösen ? Also dann quasi so etwas bei rauskommt :

Code:
Wert := LRecSteuerobjekte.Inhalt_Von_Field_ID (12);


Hoffe ihr wisst wie ich das meine.

Re: LookUp an Hand Table ID (Dynamischer Lookup)

20. Oktober 2008 02:15

CBT hat geschrieben:Das Problem ist hier allerdings die fest Zuweisung des Feldes Wert. Ist es irgendwie machbar das ganze über FieldRef oder sonst irgendwelche Parameter zu lösen ? Also dann quasi so etwas bei rauskommt :

Code:
Wert := LRecSteuerobjekte.Inhalt_Von_Field_ID (12);

Vielleicht so:

Code:
RecRef.OPEN(DATABASE::Steuerobjekte);
FldRef := RecRef.FIELD(12);
Wert := FldRef.VALUE;

Gruß, Marc

Re: LookUp an Hand Table ID (Dynamischer Lookup)

22. Oktober 2008 12:18

Hallo Marc,

das heisst ich müsste auch an Stelle der 12 einfach eine Integer Variable einfügen können welche die entsprechende Feld ID enthält.
Werde es gleich mal ausprobieren.

Besten Dank.

Gruß
Chris

Re: LookUp an Hand Table ID (Dynamischer Lookup)

22. Oktober 2008 16:41

Problem bei mir ist hier noch dass er als FldRef.VALUE nichts anzeigt. Es ist immer leer. Bin hier am versuchen das Ganze bisschen umzumelden. Wenn ich was neues hab sag ich Bescheid.

Re: LookUp an Hand Table ID (Dynamischer Lookup)

23. Oktober 2008 12:35

Muss ich irgendwas bestimmtes bei einem SETPOSITION und GETPOSITION beachten ?

Code:
dskey := LRecSteuerobjekte.GETPOSITION;
recref.SETPOSITION (dskey);


Wenn ich diesen Code ausführe will er das nicht so wirklich ... Er zeigt mir den Primärschlüssel mit dem entsprechenden Feld korrekt an, die restlichen Felder sind jedoch alle leer.

Dieser Thread gehört übrigens in den NAV 4.X Bereich. Sorry ^^ Kann verschoben werden.