[CC] PrĂĽfen ob Wert in Tabelle vorhanden ist

Bild Microsoft Dynamics NAV 2009 (aka "NAV 6")
Forumsregeln
Impressum • Community-Knigge • Nutzungsbedingungen • Datenschutzrichtlinie

Bitte unbedingt angeben, ob sich eure Frage auf den RoleTailored-Client (RTC) oder den Classic-Client (CC) bezieht!

[CC] PrĂĽfen ob Wert in Tabelle vorhanden ist

Beitragvon Guenther » 20. Februar 2018 17:55

Moin,

Kurze Erklärung:

(Meine Tabelle:) TabelleY. = Tabelle soll spätere Werte speichern "Entry" (momentan leer) (Felder: ID(Eindeutiger Schlüssel)BelegNr.,ZeilenNr.(Secoundary Key))

Ich gehe mit der Tabelle "Sales Line" und dessen Filter in die Form + Subform mit TabelleY (Tablebox). Daher habe ich im Rec. die Felder "Document No." "und Line.No". diese beiden Felder wĂĽrde ich gerne als Filter gegen meine Felder (BelegNr. u. ZeilenNr.) in TabelleY stellen. Wenn Werte in TabelleY vorhanden sind soll ein Filter auf TabelleY gemacht werden damit in der Subform nur Auftrag relevante Daten stehen. Wenn er keine Werte findet dann soll er von mir festgelegte Werte in die TabelleY schreiben. Mein Problem ist nun das ich nicht einfach ein SETFILTER oder ein SETRANGE benutzen kann da dieser Wert beim ersten Aufruf noch nicht in der TabelleY vorhanden ist.

Wie muss dieser Filter aussehen?

Quellcode:

Code: Alles auswählen
carchecks.SETCURRENTKEY(carchecks."Belegnr.",carchecks."Zeilennr.");

// Hier sollte eigentlich ein SETFILTER/SETRANGE stehen.

IF NOT ((carchecks."Belegnr." = Rec."Document No.") AND (carchecks."Zeilennr." = Rec."Line No.")) THEN BEGIN
   Carcheck.SETRANGE(Carcheck.Kategorie,Carcheck.Kategorie::UVV);
   IF Carcheck.FIND('-') THEN
      REPEAT
         carchecks.FINDLAST;
         carchecks.ID := carchecks.ID +1;
         carchecks."Belegnr." := "Document No.";
         carchecks."Kd-Nr." := "Sell-to Customer No.";
         carchecks."Zeilennr." := "Line No.";
         carchecks."Zeilennr." := "Line No.";
         carchecks.Bezeichnug := Carcheck.Bezeichnung;
         carchecks."KFZ-Kennzeichen" := "Customer Car No.";
         carchecks."Erstell Datum" := TODAY;
         carchecks.Kategorie := carchecks.Kategorie::UVV;
         carchecks."Mängel?" := FALSE;                           
         carchecks."Nicht prĂĽfbar" := FALSE;
         carchecks.Bemerkung := '';
         carchecks.INSERT;
      UNTIL Carcheck.NEXT = 0;

END ELSE
carchecks.SETRANGE(carchecks."Belegnr.","Document No.");
Zuletzt geändert von Guenther am 23. Februar 2018 11:38, insgesamt 1-mal geändert.
Guenther
 
Beiträge: 56
Registriert: 21. November 2005 08:38
Arbeitsort: Diepholz
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: Nav3.6,2009,2015

Re: [CC] PrĂĽfen ob Wert in Tabelle vorhanden ist

Beitragvon enh » 21. Februar 2018 02:25

Ich versteh's ehrlich gesagt noch nicht so ganz, aber warum nicht so:

carchecks.SETCURRENTKEY(carchecks."Belegnr.",carchecks."Zeilennr.");
carchecks.setrange("Belegnr.",Rec."Document No.");
carchecks.setrange("Zeilennr.",Rec."Line No."));
if not carchecks.findfirst THEN BEGIN
...Insert Logik...
enh
 
Beiträge: 2330
Registriert: 5. Februar 2014 15:42
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: [CC] PrĂĽfen ob Wert in Tabelle vorhanden ist

Beitragvon Guenther » 21. Februar 2018 08:59

Vorab danke für deinen Lösungsvorschlag. Stell sonst gerne Fragen was dir unklar ist damit ich Sie versuchen kann genauer zu beschreiben.

Das Problem ist wenn ich das so probiere wie beschrieben, dann habe ich beim ersten Durchlauf ja noch keine Werte in meiner Tabelle.
Daher meckert das System dann das ich kein Filter auf etwas setzen kann was noch nicht in der Tabelle vorhanden ist. Wenn ich den/die
Datensätze manuell anlege und dann den gleichen Code versuche funkioniert es einwandfrei. Aber ich kann nicht einfach willkürlich vorab
Datensätze anlegen.

Das ist die Meldung die generiert wird, wenn ich versuche ein SETFILTER/SETRANGE an dieser Stelle im Code zu verwenden.
Dateianhänge
x.gif
Fehlermeldung Filterung
x.gif (3.6 KiB) 324-mal betrachtet
Guenther
 
Beiträge: 56
Registriert: 21. November 2005 08:38
Arbeitsort: Diepholz
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: Nav3.6,2009,2015


ZurĂĽck zu NAV 2009

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast