Insert in andere Tabelle durchschreiben...

5. Februar 2007 14:22

Hallo Leute,

nachdem ich nun seit 3 Jahren wieder mit Navision anfange ein paar kleinere Dinge zu programmieren habe ich eine Frage zum Insert, ja ich weiss ist wirklich keine grosse Sache aber ich komme nicht weiter:

Ich habe eine Tabelle Wareneingang. Dort geben die Anwender über ein Formular eine Kundennummer ein und welche Menge "Eingang" von Waren auf das Lager kommt.

Ich möchte nun erreichen das wenn die Anwender das eingeben inder Tabelle "Wareneingang", in der Tabelle "Lager" ein Datensatz eingefügt wird (sofern noch nicht vorhanden) der die Kundennummer und die Anzahl des Wareneingang dort rein inserted.


Table 72000 Wareneingang
1 No. Code 10 Bei Insert --> Erhöhung um 1
2 No. Series Code 10
5 KUNUMMER Integer Kundennummer
370 Eingang Integer

Table 72005 Lager
1 No. Code 10 Bei Insert --> Erhöhung um 1
2 No. Series Code 10
5 KUNUMMER Integer Kundennummer
70 Wareneingang Integer Menge des gesamten Wareneingangs

Wäre super wenn mir da jemand weiter helfen könnte...

[Edit - Rotsch] Beitrag von anderem Thema abgegeteilt, da es sich um zwei verschiedene Probleme handelt

5. Februar 2007 16:00

ich denke du könntest beim letzten eintrag den du machst in dem trigger OnValidate die andere Tabelle ansprechen und alles "zu fuß" dort "hineininserten". Aber das garantiert dir nun erstmal nicht das auch dieses Feld als letztes angesprochen wird. da benötigst du eine menge "Sicherheitscode" mit Testfield()

5. Februar 2007 17:23

ICh würde den oninsert trigger verwenden und die Eigenschaft der Form auf delayed insert setzen, so dass der Datensatz erst gespeichert wird, wenn man die Zeile verläßt. Beim Einfügen wird dann der Code für das Einfügen in die Lagertabelle ausgeführt.

5. Februar 2007 17:40

delayed insert kenn ich so nicht..ist erst ab version 4?

5. Februar 2007 18:25

Nein, die Eigenschaft gibts auch bei 3.70.
Schau dir zum Beispiel im Auftrag das Formular der Zeilen (also die Subform) an und dort auf "Eigenschaften". Dort findest du DelayedInsert. Frag mal die Onlinehilfe.