[GELÖST] Setfilter 2 Felder in Filtern

3. September 2008 15:27

Hallo Leute,

ich stehe vor einem Problem und komme nicht mehr weiter: Ich habe eine Tabelle mit einer Spalte "Job No" und einer Spalte "Location Code". Es kann möglich sein, dass in der Spalte "Job No" oder in der Spalte "Location Code" ein Wert hinterlegt ist, den ich suche.
Ich möchte nun mit dem Befehl SETFILTER einen Wert in der Spalte "Job No" und "Location Code" suchen. Es soll jeder Datensatz angezeigt werden, wo der Wert entweder in der einen, oder in der anderen Spalte ist, oder auch in beiden.

Wie kann ich mit den Befehl SETFILTER 2 Abfragen ODER verknüpfen?

Code:
PurchLine.SETFILTER("Location Code",'L' + Job."No.");
PurchLine.SETFILTER("Job No.",Job."No.");


Grüße
Zuletzt geändert von Rabe_Nitz am 3. September 2008 16:44, insgesamt 1-mal geändert.

Re: Setfilter 2 Felder in Filtern

3. September 2008 15:37

Hast du unsere Forensuche schon bemüht?
Dort findest du nämlich dieses Thema hier: [Gelöst] Ein Setfilter mit AND Verknüpfung möglich?!
Suchworte waren: Filter Oder Verknüpfung

Re: Setfilter 2 Felder in Filtern

3. September 2008 15:49

Irgendwie komme ich da zu nichts:

Code:
        PurchLine.SEtRANGE("Job No.",Job."No.")
        IF FIND('-') THEN
            REPEAT
              MARK := TRUE;
            UNTIL NEXT = 0;
        PurchLine.SETRANGE("Location Code",'L' + Job."No.");
        IF FIND('-') THEN
            REPEAT
              MARK := TRUE;
            UNTIL NEXT = 0;
        end;

Re: Setfilter 2 Felder in Filtern

3. September 2008 15:58

In deinem Codestück markierst du ALLE Zeilen (des falschen Records), das kann nicht Sinn der Sache sein. Außerdem scheinst du nicht zu verstehen, wie du Recordvariablen verwenden sollst. Schaue dir auch die Onlinehilfe zu allen dir bisher unbekannten Befehlen an.

Dein Code müsste so aussehen:
Code:
// evtl. irgendwelche übrigen Filter
IF PurchLine.FIND('-') THEN
  REPEAT
    IF (PurchLine."Job No." = Job."No.") OR  (PurchLine."Location Code" = 'L' + Job."No.") THEN
      PurchLine.MARK(TRUE);
  UNTIL PurchLine.NEXT = 0;
PurchLine.MARKEDONLY(TRUE);

Re: Setfilter 2 Felder in Filtern

3. September 2008 16:28

FUnktioniert :)

Ist aber leider extrem langsam. Ich durchsuche warscheinlich zu viele Datensätze... Der Key passt.

Grüße

Re: Setfilter 2 Felder in Filtern

3. September 2008 17:02

Rabe_Nitz hat geschrieben:Ist aber leider extrem langsam. Ich durchsuche warscheinlich zu viele Datensätze... Der Key passt.

Können wir uns auch noch anschauen, wenn du magst ;-)