[gelöst] Filter auf leeres Feld?

6. März 2007 16:03

Hallo nochmal,

ich komm an dieser Stelle auch nicht weiter und hoffe auf eure Hilfe:

Ich versuche ein Filter zu setzten. Das Besondere daran ist, dass ich auf Blank filtern muß! Das scheint Nav aber nicht zu verstehen.

Das Feld in der Tabelle "Debitor" beinhaltet eine andere Debitornummer, um dem eigentlichen Debitoren eine andere Rechnungsanschrift zu verpassen.

Dies ist aber nicht für alle Debitoren der Fall, deshalb bleibt das Feld bei diesen Debitoren leer.

Mein Versuch mit "SETFILTER("Rech. an Deb.", '');" zeigt mir ebenfalls die nicht leeren Debitoren an. Was kann man hier falsch machen?

Danke.
Zuletzt geändert von Dune am 6. März 2007 16:19, insgesamt 1-mal geändert.

6. März 2007 16:09

versuche es mal mit

setrange("Rech. an Deb.",'')

6. März 2007 16:11

versuchs mal mit:
SETFILTER("Rech. an Deb.", '%1',' ');

mfg Michael

zu spät

6. März 2007 16:14

Danke Michael,

das funktioniert! Komisch zwar, aber es läuft.

Gibt´s dafür eigentlich ´ne Erklärung, warum setrange und setfilter so verschiedene "Auswirkungen" haben?

6. März 2007 16:17

Danke Michael (äh der andere Michael),

dein Vorschlag funktioniert genauso!

6. März 2007 16:28

Dune hat geschrieben:Gibt´s dafür eigentlich ´ne Erklärung, warum setrange und setfilter so verschiedene "Auswirkungen" haben?


SETRANGE filtert immer entweder auf einen einzelnen Wert, oder auf einen von-bis Bereich.

Mit SETFILTER und den Paramtern %1, %2 usw. lassen sich auch komplexere Filter erstellen, so in der Art:

Code:
SETFILTER(Datum, '%1..%2&%3', Datum1, Datum2, Datum3);

6. März 2007 17:10

Danke Roger.

Also sollte man bei einfachen Filtern immer "Setrange" verwenden und erst bei komplexen Filtern "Setfilter"?

Was ist schneller? Gibt es andere Probleme beim Verwenden der beiden?

6. März 2007 17:16

Ich handhabe das so, da ich mit SETRANGE in der Regel weniger zu schreiben habe :wink:

Ob es Unterschiede in der Performance gibt, kann ich nicht sagen. Vielleicht weiss da sonst jemand was darüber?

6. März 2007 18:59

Es hält sich hartnäckig das Gerücht, dass SETRANGE schneller wäre als SETFILTER, jedoch ist ein Beweis dafür bis heute noch nicht erbracht.
Einfache Vergleichstest kamen auch bei großen Datenmengen immer auf ungefähr identische Werte.

Vielleicht haben die SQL-Profis ja noch ein paar nette Hinweise, wie Navision die Befehle umsetzt.
Immerhin könnte ich mir gut vorstellen, dass es einfacher ist, einen einfach gestrickten SETRANGE effektiver umzusetzen als einen flexiblen SETFILTER.