Announcement

Collapse
No announcement yet.

Verschiedene Filter für eine Datenbank ??

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Verschiedene Filter für eine Datenbank ??

    Hallo alle zusammen,

    ich habe mehrer Paradox Datenbanken wo ich bei einigen bestimmte Filter anwenden muß. z.B.
    (1) Fahrzeugdatenbank die nach "Verfügbarkeit","Verkauft" usw gefiltert werden soll. Mein Problem liegt darin das ich über eine Combobox einen bestimmten Filter aktivieren möchte und nicht weiß wie das geht.
    Ich kann zwar bei der TTable Komponente einen Filter deklarieren und die TTable auch mit "TTable.Filtered:=True/False" aktivieren bzw deaktivieren.
    Was mache ich aber wenn ich verschieden Filter haben möchte und wie aktiviere ich gezielt eine Filterbedingung??

    Ich bin für jeden Rat Dankbar.....
    Jens

  • #2
    Hallo Jens!

    Mit dem ComboBox "OnChange" Ereignis sollte es kein
    Problem sein:

    procedure TForm1.ComboBox1Change(Sender: TObject);
    begin
    Fahrzeugtable.Filtered:= False;
    Fahrzeugtable.Filter:= ComboBox1.Text;
    Fahrzeugtable.Filtered:= True;
    end;

    Ich habe mal ein ähnl. Programm für NISSAN geschrieben als
    Gebrauchrfahrzeugverwaltung!

    jürge

    Comment


    • #3
      Hallo Jürgen,

      vielen Dank erstmal für Deine Antwort.
      Das versteh nicht ich nicht. Woher weiß die Table über welches Feld gefiltert wird? Außerdem sind meine Filterfelder vom Typ Boolean.
      So wie ich das verstehe wird in deinem Beispiel die Filterbedingung über den Text der ComboBox gesetzt. Richtig?? Ich muß insgeamt 3 Filter setzen. Vieleicht hast Du noch ne´ Idee oder Ich hab´es nicht richtig verstanden.

      Jen
      Jens

      Comment


      • #4
        Hallo, ich mach das wie in der procedure unten z.B in einer Radiogroup.

        procedure TSbDrAuForm.RadioGroup1Click(Sender: TObject);

        begin

        DataModule2.Sin_AdreTable.Filter :=

        //Datei nach Feld Abteilung filtern

        'Abteilung = ''' + RadioGroup1.Items[RadioGroup1.ItemIndex] + '''';

        DataModule2.Sin_AdreTable.Filtered := True;

        with Query1 do

        begin

        Query1.SQL.Clear;

        Query1.SQL.Add('SELECT Count(Abteilung) FROM Sin_Adre');

        Query1.SQL.Add('WHERE Abteilung = :AbtZahl');

        Query1.Params[0].AsString := RadioGroup1.Items[RadioGroup1.ItemIndex];

        Query1.Open;

        StatusBar1.SimpleText :=

        Format('%d ' + ' Mitglieder gefunden',[Fields[0].ASInteger]);

        end;

        end;

        In der Statuszeile werden die gefundenen Datensätze angezeigt. Guss p

        Comment

        Working...
        X