[Gelöst] Form mit Zugriff auf zweite Tabelle

6. Oktober 2009 10:36

Mein erster Beitrag nachdem ich mir in den letzten Monaten regelmässig Anregungen geholt habe. Ein kurzer Lob an die Macher hier.

Eine passender Eintrag im Forum ist mir nicht untergekommen. Evtl. ist die Frage auch zu simpel.

Folgende Situtation unter Navision 5.01 basierend auf einem MS SQL-Server

Wir haben eine Standardtabelle für die Anlagenbuchhaltung. Die Anzahl der Felder reichen leider aber für eine spezielle Verwendung nicht aus und so haben wir uns entschlossen eine neue Tabelle "IT Validation" mit zusätzlichen Feldern anzulegen um die Original-Tabelle nicht zu verändern.

Die selbst gebaute Form greift also auf die SourceTable "Fixed Asset" der Anlagenbuchhaltung zu. Die zweite eigene Tabelle "IT Validation" hat als Indexfeld ebenfalls das Feld "No." welches über eine TableRelation mit dem gleichnamigen Feld "Fixed Asset"."No." verknüpft ist.

Die Felder der Tabelle "IT Validation" werden über den Befehl "ITValidation.GET("No.") gezogen und ordentlich angezeigt.
Änderungen an bestehenden Datensätzen , werden durch den Befehl "ITValidation.MODIFY(TRUE);" im "OnValidate" Trigger korrekt verändert.

Was nicht funktioniert ist die Neuanlage eines Datensatzes über unserer oder die Form (Anlagenkarte) im Standard.

Wie kann ich es lösen, dass das funktioniert ?
EIne Idee meinerseits war es, das im Code der Tabelle "Fixed Asset" zu lösen, um nicht an mehreren Stellen den Code einbauen zu müssen.

Vielen Dank im voraus.
Zuletzt geändert von alexanderpetry am 6. Oktober 2009 13:32, insgesamt 2-mal geändert.

Re: Form mit Zugriff auf zweite Tabelle

6. Oktober 2009 11:04

Hallo Alexander,

auch dir ein "Herzlich Willkomen" hier im Forum :-)

Eine Frage zu simpel? -->Wenn diese ein Problem darstellt, sollte das auch geklärt werden 8-)
(Dafür ist das Forum da)

Wenn ich dich recht verstanden habe (und du es auch schreibst), müsstest du auf dem OnInsert Trigger der Tabelle "Fixed Asset" den Code plazieren, damit in der Tabelle "IT Validation" die Einträge gemächt werden.

Zusätzlich sollten auch die anderen Trigger programmiert werden, falls Datensätze gelöscht oder umbenannt werden.

Re: Form mit Zugriff auf zweite Tabelle

6. Oktober 2009 11:43

Ich glaube hier bin ich richtig. Ihr seid schnell :)

Den Code hatte ich bereits erfolglos versucht.

Im ersten Teil des OnInsert Triggers wird der Nummernkreis gezogen. Am Ende des Triggers verwende ich nun folgenden Befehl :

ITValidation.INSERT(TRUE);

Leider wird der Datensatz einer neuen Anlage noch nicht in die Tabelle "IT Validation" geschrieben. Denkfehler oder falscher Befehl ?

Re: Form mit Zugriff auf zweite Tabelle

6. Oktober 2009 13:05

Eine Bitte vorab, setzte Codebeispiele immer in Codetags

Der Code müsste irgendwie so aussehen (auf dem Trigger - OnInsert):
Code:
ITValidation.INIT;
ITValidation.Feld1 := "No."  // Prim. Key von "Fixed Asset";
ITValidation.Feld2 := DeineWerte;
ITValidation.INSERT(TRUE);


Ein Insert allein reicht nicht, da dem System erst mitgeteilt werden muß, was soll eingefügt werden!

Re: Form mit Zugriff auf zweite Tabelle

6. Oktober 2009 13:31

Das war es. Vielen Dank.

Den Befehl hatte ich in der Form bereits gebaut, aber das ".INIT" vergessen.
Die anderen Trigger kann man prima davon ableiten.

Bestens.