![]() |
Filter setzen: Fehler
Hallo!
Ich möchte für ein Datenbankprogramm eine Suche programmieren. Die Tabelle ist eine Paradox 7 Tabelle. Nun setze ich einen Filter (wenn der User auf suchen geklickt hat):
Code:
Aber nun kommt der Fehler: :?: Filtersetzung unerfolgreich abgeschlossen. Wo liegt der Fehler? :(
procedure TForm1.BitBtn1Click(Sender: TObject);
begin Table1.Close; Table1.Filtered := False; Table1.Filter := 'Stichwoerter' + QuotedStr(LabeledEdit1.Text); Table1.Filtered := True; Table1.Open; end; Danke für euere Hilfe robertthronhill |
Re: Filter setzen: Fehler
Hai robertthrohill,
willkommen im Delphi-Praxis Forum. Zitat:
z.B. = < > <>
Delphi-Quellcode:
Table1.Filter := 'Stichwoerter = ' + QuotedStr(LabeledEdit1.Text);
|
Re: Filter setzen: Fehler
Hi Sharky!
Danke für's willkommen. Ich weis nicht wie du das mit den <> meinst. Könntest du biite den Source verbessern? Danke! robertthronhill |
Re: Filter setzen: Fehler
Zitat:
Code:
Anstelle des Vergleiches mit = (gleich) geht nachtürluch auch <> (ungleich)
Table1.Filter := 'Stichwoerter = ' + QuotedStr(LabeledEdit1.Text);
^^^ |
Re: Filter setzen: Fehler
@robertthronhill:
Zur Verdeutlichung: Zitat:
Also bei Tabelle mit folgenden Daten: Zitat:
Zitat:
Zitat:
Zitat:
Bei einem Filter "Menge'70'", den du mit deinem Quelltext erzeugst, weiß der Filter nicht: 1. Wo das Feld steht, nach welchem du Filtern willst 2. Selbst wenn er das erkennen würde, dann wüsste er nicht ob du gleich, kleiner oder größer meinst. Hellsehen gibt's nämlich erst ab Delphi 10.0, glaube ich :mrgreen: Darum bekommst du auch diese Meldung. |
Re: Filter setzen: Fehler
Hi!
Zunächst mal ein großen dankeschön an euch beide. Jetzt bin ich den Fehler los. Aber schon stellt sich eine neue Frage. Wie bring ich ihm bei, dass er die gefundenen Datensätze in einem StringGrid anzeigt? Nochmals danke für die Antworten! robertthronhill P.S.: @Captnemo: Das mit dem Hellsehen wäre doch schön, oder? :D:lol: |
Re: Filter setzen: Fehler
Erm.. das ist ne neue Frage, da sollte man normalerweise einen neuen Thread für aufmachen.
Stellt sich jetzt die Frage, mit was für Komponenten Du arbeitest. Im Regelfall sollte es reichen, eine DataSource (auf 'Datenzugriff' zu finden) und eine DBGrid (auf 'Datensteuerung' zu finden) auf das Formular zu ziehen. Der Grid weist Du dann die DataSource als Datenquelle zu, und die Table die Du hast weist Du dann im Quelltext deine Table zu. Also im Form - am besten nach dem Table1.Open:
Delphi-Quellcode:
Das sollte reichen um die Daten in die Grid zu packen :)
DataSource1.DataSet := Table1;
|
Re: Filter setzen: Fehler
Hi phoenix!
Danke für deine Hilfe! Leider klappt deine Idee nicht. Der Compiler kennt kein DataSource1. Deswegen hab ich das ganze abgeändert:
Code:
Nun bekomme ich aber den Fehler: Inkompatible Typen: 'TDataSource' und 'TTable'. Das gleiche passiert auch, wenn ich das Table1 zu StringGrid1 abändere. Dann kommt aber statt 'TTable' in der Fehlermeldung 'TStringGrid'. :(
DataModule1.DataSource1 := Table1;
Ich hoffe ihr könnt mir helfen! Danke schon im Vorraus robertthronhill |
Re: Filter setzen: Fehler
Alsoooo,
du brauch mindestens: 1 x TTable (Table1) 1 x TDataSource (DataSource1) 1 x TDBGrid (DBGrid1) Die kannst du über den OI einander zuordnen. Oder im Code: DataSource1.DataSet:=Table1; DBGrid1.DataSource:=DataSource1; Damit sollte es klappen. :mrgreen: |
Re: Filter setzen: Fehler
Hi!
Vielen herzlichen Dank, captnemo! :thuimb::thuimb::thuimb: Jetzt funktioniert es endlich! Es hätte auch schon gestern Abend funktionieren können, hätte ich bloß nicht vergessen das TDataSource einzufügen :wall: Wirklich ärgerlich! Nochmal Danke! robertthronhill |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz