[GELÖST] SETFILTER + Bereich von..bis?

12. August 2010 21:48

Hallo,

Bei SETFILTER kenn ich nur das Konstrukt SETFILTER (Feldname, '>=<%1', irgend_ein_Wert);

Wie sag ich: SETFILTER("Feld",von .. bis); ?

z.B. Record.SETFILTER(Code-Feld,'2008-01'..'2008-12'), oder konkreter
GenJnLine.SETFILTER("Journal Batch Name",'2008-01'..'2008-12');


Danke im Voraus! :-)

EDIT:

schon gelöst, grins :-D

=> LÖSUNG:

GenJnLine.SETFILTER("Journal Batch Name",'%1..%2','2008-01','2008-12');

Erstaunlich, wie oft ich hier eine Frage poste und 1 Min später fällt mir die Antwort von selber ein.
Das Forum setzt meine kreativen Kräfte frei >:-> *hehehe*

Re: [GELÖST] SETFILTER + Bereich von..bis?

12. August 2010 22:30

Noch besser ist es aber, für solche Bereiche SETRANGE zu verwenden.

Re: [GELÖST] SETFILTER + Bereich von..bis?

12. August 2010 23:03

Kowa hat geschrieben:Noch besser ist es aber, für solche Bereiche SETRANGE zu verwenden.


Frißt SETRANGE etwa weniger CPU-Zeit als SETFILTER?
Mir hat mal mein Chef gesagt, nach Möglichkeit immer SETRANGE nehmen, aber ich hab vergessen zu fragen, warum eigentlich ... }:^)

Re: [GELÖST] SETFILTER + Bereich von..bis?

13. August 2010 00:31

Allein schon deshalb, weil der Code um Einiges besser zu lesen ist. Ein SetRange setzt - wie der Name halt sagt :wink: - einen Bereich auf oder von-bis und braucht dafür auch kein Konstrukt wie '%1..%2' oder gar '>=%1&<=%2'.

Ein SetFilter sollte filtern, wo ein SetRange nicht funktionieren kann.

Performanter soll SetRange auch sein, wobei man darüber wohl streiten kann.

Re: [GELÖST] SETFILTER + Bereich von..bis?

13. August 2010 08:33

Mir hat man auch mehrmals eingetrichtert, solange ein SETRANGE funktioniert sollte auch dieser verwendet werden. Also diesen immer bei Filtern auf einen einzelnen Wert bzw. einen Wertebereich anwenden.

Gruß,
Sebastian

Re: [GELÖST] SETFILTER + Bereich von..bis?

13. August 2010 10:56

soweit ich weiß *an die SQL performance Schulung zurückdenk* macht das SETRANGE und -FIlter nur auf der nativen Datenbank einen unterschied.
auf SQL macht der eh aus beiden einen SELECT-Befehl, somit wäre es da egal.
trotzdem..man weiß ja nie wo die programmierung mal verwendet werden soll und der standard machts ja vor
SETFILTER nur wenn SETRANGE nicht klappt.

SETRANGE vs. SETFILTER

13. August 2010 12:06

Zum Thema SETRANGE vs. SETFILTER:
http://www.navision24.de/trickkiste/unt ... ilter.html

Besprochen hier:
viewtopic.php?f=36&t=6924
Verwendung durch CONST
Performance

Re: [GELÖST] SETFILTER + Bereich von..bis?

13. August 2010 12:10

elroberto hat geschrieben:soweit ich weiß *an die SQL performance Schulung zurückdenk* macht das SETRANGE und -FIlter nur auf der nativen Datenbank einen unterschied.


Selbst auf der nativen Datenbank kann ich bei sehr gr. Tabellen nicht bestätigen das SETFILTER länger dauert als ein SETRANGE.
Es mag sein das es messbar ist, aber spürbar kaum.
Das eigentliche Kriterium für die Performance hier ist IMO der Sortierschlüssel.

mfg
winfy

Re: [GELÖST] SETFILTER + Bereich von..bis?

13. August 2010 12:12

winfy hat geschrieben:
elroberto hat geschrieben:soweit ich weiß *an die SQL performance Schulung zurückdenk* macht das SETRANGE und -FIlter nur auf der nativen Datenbank einen unterschied.


Selbst auf der nativen Datenbank kann ich bei sehr gr. Tabellen nicht bestätigen das SETFILTER länger dauert als ein SETRANGE.
Es mag sein das es messbar ist, aber spürbar kaum.
Das eigentliche Kriterium für die Performance hier ist IMO der Sortierschlüssel.

mfg
winfy

Bitte führt das Thema in den o.g. Links fort. Danke!