Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zwei Felder in Tabelle Filtern (https://www.delphipraxis.net/68052-zwei-felder-tabelle-filtern.html)

Christian18 24. Apr 2006 05:27

Datenbank: Access • Version: 2000 • Zugriff über: ADO

Zwei Felder in Tabelle Filtern
 
Hallo,

wie kann ich in einer ADOTabelle Z´wei Felder Filtern???

mkinzler 24. Apr 2006 05:44

Re: Zwei Felder in Tabelle Filtern
 
Delphi-Quellcode:
AdoTable1.Filter := 'feld1=bedingung1 and feld2=bedingung2';

Christian18 24. Apr 2006 05:49

Re: Zwei Felder in Tabelle Filtern
 
Hallo,

ja so habe ich es´versucht funktioniert aber nicht.

DM.TKunden.Filter:='RIdx LIKE ' + QuotedStr(IntToStr(i)) + 'and' + 'Kunden LIKE ' + QuotedStr(UpperCase(Edit1.Text) + '*');

mkinzler 24. Apr 2006 05:51

Re: Zwei Felder in Tabelle Filtern
 
Hast du auch
Delphi-Quellcode:
DM.TKunden.Filtered := True;
gesetzt ?

Christian18 24. Apr 2006 05:54

Re: Zwei Felder in Tabelle Filtern
 
Zitat:

Zitat von mkinzler
Hast du auch
Delphi-Quellcode:
DM.TKunden.Filtered := True;
gesetzt ?

Ja ich versuche in einer Detail Tabelle zu filtern.

habe aber vorher die mastersource abgeklemmt. hier der ganze code:

Delphi-Quellcode:
  var i : Integer;
begin
  inherited;
  if Edit1.Text = '' then
    begin
      DM.TTKunden.Filtered:=False;
      Close;
    end
  else
    begin
      i:=DM.TBenutzer.FieldByName('Idx').AsInteger;
      DM.TKunden.Filtered:=False;
      DM.TKunden.MasterSource.Enabled:=True;
      DM.TKunden.IndexFieldNames:='';

      DM.TKunden.Filter:='RIdx = ' + QuotedStr(IntToStr(i)) + 'and' + 'KName LIKE ' + QuotedStr(UpperCase(Edit1.Text) + '*');

      DM.TKunden.Filtered:=True;
      Close;
    end;

marabu 24. Apr 2006 13:50

Re: Zwei Felder in Tabelle Filtern
 
Hallo Christian,

sorge dafür, dass alle Operatoren von Leerzeichen umgeben sind - dann sollte es funktionieren.

Delphi-Quellcode:
const
  fmtFilter = 'RIdx = %d and KName LIKE %s';
var
  sFilter: String;
begin
  // ...
  sFilter := Format(fmtFilter, [i, QuotedStr(Edit1.Text + '*')]);
  DM.TKunden.Filter := sFilter;
  // ...
end;
Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz