29. März 2007 14:02
Hallo seitz,
vorab ein "Herzliches Willkomen" hier im Forum.
In Navision kann ein Lookup auf unterschiedliche Weise gelöst werden.
Du kannst einen "zu Fuß" Programmieren oder in den Tabelleneigenschaften das Propertie "LookupFormID" setzten auf die entsprechende Form.
Vorraussetzung ist natürlich immer, das du eine entsprechende Lookupform hast bzw. erstellt hast z.B. Artikelübersicht Nr. 31
Bei der Variante die Natalie angegeben hat, wird durch F5 die Lookupform, die der Tabelle hinterlegt ist aufgerufen.
Schau dir z.B. die Tabelle 27 Item im Design an.
Gehe an das Ende der Felddefinitionen und öffne die Properties, hier kannst du die zu öffene Form sehen bzw. angeben.
Bei der Tabelle Item ist z.B. das Form "Artikelübersicht" angegeben.
****************************
Der Weg "zu Fuß":
Auf dem OnLookup Button einer Control (z.B. Textbox) folgenden Code hinterlegen:
- Code:
Dein_Record.RESET;
Dein_Record.SETRANGE(Dein_Feld,Dein_Filter);
IF FORM.RUNMODAL(0,Dein_Record) = ACTION::LookupOK THEN BEGIN
Durch diesen Code wird "Dein_Record" zunächst gefiltert z.B. Filter auf die Tabelle Artikel (Item).
Durch "FORM.RUNMODAL" wird ein Form aufgerufen in diesem Fall die 0, was der Standard-Lookupform entspricht (Siehe meinen Text zum Thema Tabellenpropertie "LookupFormID").
Alternativ kann die 0 auch durch eine Nr. ersetzt werden, die deiner Form entspricht z.B. 31 = Artikelübersicht.
Hinter der 0 wurde "Dein_Record" angegeben, dadurch wird der Form der zuvor gesetzte Filter mit übergeben.
Das besondere an dieser Variante ist, das die Daten gefiltert werden können und der ausgewählte Record weiter verarbeitet werden kann.
Um weitere Informationen zum Thema zu finden, würde ich dir den Aplication Designers Guide auf der Navision CD empfehlen.
Gruß Mikka