[Gelöst] GET-Anweisung bei PK mit zwei Feldern

4. Juli 2008 08:49

Morgen,

wie kann ich in einer GET-Anweisung das erste Feld eines PrimaryKey außen vor lassen?

Auf einer Tabelle (KD-Artikel) habe ich als PK die laufende Nr (Integer) und eine Artikel-Nr.

Ich möchte nun einern Marker setzen, wenn in der Tabelle (KD-Artikel) der Artikel vorkommt.
Wie kann ich jetzt sagen, dass der erste Teil des PK für die GET-Anweisung irrelevant ist.

Danke
Winkelsbr
Zuletzt geändert von winkelsbr am 4. Juli 2008 08:59, insgesamt 1-mal geändert.

4. Juli 2008 08:53

Moin Winkelsbr,

bei dem GET-Befehl muss das erste Feld angegeben werde. Lediglich die nachfolgenden Felder können weggelassen werden. Ich würde hier anstatt des GET-Befehls den Befehl SETRANGE nutzen.

Gurß, Marc

4. Juli 2008 08:58

Merci,

werde ich machen.
Ich dachte nur, dass die GET-Anweisung weniger die Datenbank belastet, da ich ja nur wissen will, ob der Artikel in der Tabelle vorkommt!

Gruß
Winkelsbr

4. Juli 2008 09:28

Marc Teuber hat geschrieben:Moin Winkelsbr,
bei dem GET-Befehl muss das erste Feld angegeben werde. Lediglich die nachfolgenden Felder können weggelassen werden. Ich würde hier anstatt des GET-Befehls den Befehl SETRANGE nutzen.


s/erste Feld/Primärschlüsselfeld(er)/ ?!

Mar"schon öfters darüber gestolpert"kus

4. Juli 2008 09:44

winkelsbr hat geschrieben:Ich dachte nur, dass die GET-Anweisung weniger die Datenbank belastet, da ich ja nur wissen will, ob der Artikel in der Tabelle vorkommt!


Wenn du den Inhalt des Datensatzes nicht brauchst, arbeite statt mit
Code:
Record.SETRANGE(....);
IF Record.FINDFIRST THEN
  irgendwas;


mit
Code:
Record.SETRANGE(....);
IF NOT Record.ISEMPTY THEN
  irgendwas;

4. Juli 2008 10:21

Natalie hat geschrieben:Wenn du den Inhalt des Datensatzes nicht brauchst, arbeite statt mit
Code:
Record.SETRANGE(....);
IF Record.FINDFIRST THEN
  irgendwas;


mit
Code:
Record.SETRANGE(....);
IF NOT Record.ISEMPTY THEN
  irgendwas;

Da wir uns hier im NAV2.xx-Forum befinden, gibt es kein FINDFIRST, von daher muss hier FIND('-') verwendet werden.
Ich weiß jetzt gerade nicht auswendig, ob es da auch schon den ISEMPTY gibt. Falls nicht, hat sich die Alternative sowieso erledigt und es bleibt nur FIND('-') übrig.