![]() |
AW: Table Filter
versuche gerade alles, habe noch ein Brett vorm Kopf
Delphi-Quellcode:
Form1.Table_Einsaetze_Event.Filtered := false;
Form1.Table_Einsaetze_Event.Filter := 'EINSATZNUMMER ='+ Form1.Table_Einsaetze_Event.FieldByName('EINSATZNUMMER').Text; Form1.Table_Einsaetze_Event.Filtered := true; |
AW: Table Filter
Vielleicht so...
Code:
Form1.Table_Einsaetze_Event.Filter := 'EINSATZNUMMER ='+ QuotedStr(Form1.Table_Einsaetze_Event.FieldByName('EINSATZNUMMER').Text);
|
AW: Table Filter
habe ich schon versucht! geht nicht :-(
als Zusatz, die Datensätze werden in einem DBGrid angezeigt
Delphi-Quellcode:
Form3.CRDBGrid2.Columns[0].Visible := False;
//Form3.CRDBGrid2.Columns[1].Visible := False; Form3.CRDBGrid2.Columns[6].Visible := False; Form1.Table_Einsaetze_Event.Filtered := false; Form1.Table_Einsaetze_Event.Filter := 'EINSATZNUMMER ='+ QuotedStr(Form1.Table_Einsaetze_Event.FieldByName('EINSATZNUMMER').Text); Form1.Table_Einsaetze_Event.Filtered := true; |
AW: Table Filter
Und du bist dir auch sicher, dass du dir die Form anschaust, die durch die in der Variablen
Delphi-Quellcode:
hinterlegten Referenz gemeint ist?
Form1
Könnte man z.B. so prüfen:
Delphi-Quellcode:
procedure TForm1.Button1_Click(Sender:TObject);
begin if Form1 <> Self then ShowMessage( 'Ey, ich bin gar nicht mit Form1 gemeint!' ); end; |
AW: Table Filter
hey,
die Komponente liegt auf Form1, das DBGrid auf Form3. Alles richtig so hier diese Fehlermeldung kommt: [dcc32 Warnung] BasisClient.pas(153): W1058 Implizite String-Umwandlung mit potenziellem Datenverlust von 'string' zu 'AnsiString' |
AW: Table Filter
Das wird hier jetzt eher zur wilden Spekulation.
Zeig' uns doch einfach mal, wie der Filter so aussieht:
Delphi-Quellcode:
Die Ausgabe von ShowMessage postest Du bitte hier.
Form1.Table_Einsaetze_Event.Filtered := false;
Form1.Table_Einsaetze_Event.Filter := 'EINSATZNUMMER ='+ QuotedStr(Form1.Table_Einsaetze_Event.FieldByName('EINSATZNUMMER').Text); ShowMessage(QuotedStr(Form1.Table_Einsaetze_Event.Filter)); Form1.Table_Einsaetze_Event.Filtered := true; Die Art der Ausgabe / Anzeige der Daten, ist für das Setzen von Filtern irrelevant. Entscheidend ist die korrekte Syntax der Filter. Bei "geht nicht" gehe ich davon aus, dass die Funktionalität des Filters nicht gegeben ist, er also fehlerhaft ist. Dies äußert sich für gewöhnlich durch eine Exception. Gibt es eine? Wenn ja, dürften wir ihren Inhalt erfahren. Gibt es keine Exception, dann bitte die Info, dass es keine Exception gibt. In dem Fall ist übrigens davon auszugehen, dass es die entsprechenden Sätze nicht gibt. Von welchem Typ ist denn Einsatznummer? Integer? Dann wäre die sinnvollste Methode, den Filter zu setzen vermutlich:
Delphi-Quellcode:
Sollte Einsatznummer vom Typ String sein, dann wäre dashier eventuell die bessere Variante des Filtersetzens:
Form1.Table_Einsaetze_Event.Filtered := false;
Form1.Table_Einsaetze_Event.Filter := Format('EINSATZNUMMER = %d', [Form1.Table_Einsaetze_Event.FieldByName('EINSATZNUMMER').AsInteger]); Form1.Table_Einsaetze_Event.Filtered := true;
Delphi-Quellcode:
Werden im DBGrid nach dem
Form1.Table_Einsaetze_Event.Filtered := false;
Form1.Table_Einsaetze_Event.Filter := Format('EINSATZNUMMER = %s', [QuotedStr(Form1.Table_Einsaetze_Event.FieldByName('EINSATZNUMMER').AsString)]); Form1.Table_Einsaetze_Event.Filtered := true;
Delphi-Quellcode:
eigentlich irgendwelche Daten angezeigt? Oder ist die Ergebnismenge leer oder ist sie unverändert?
Filtered := true;
|
AW: Table Filter
Exception :
Argument außerhalb des Bereichs Im CRDBGrid werden immer alle Datensätze angezeigt.
Delphi-Quellcode:
Ergebnis : '' // Verstehe ich nicht ???
ShowMessage(QuotedStr(Form1.Table_Einsaetze_Event.Filter));
|
AW: Table Filter
Zitat:
Wenn Du uns jetzt auch noch was zum Datentyp von Einsatznummer sagen könntest und uns mal den Filter zur Verfügung stellen könntest, hätte die :glaskugel: mal eine kleine Pause ;-) |
AW: Table Filter
es ist eine Zahl mit zehn Zeichen
Beispiel: 1234567890 aber im Filter steht nichts drin!
Delphi-Quellcode:
Ergebnis : ''
ShowMessage(QuotedStr(Form1.Table_Einsaetze_Event.Filter));
|
AW: Table Filter
habe jetzt mal ein Edit dazwischen, dort steht die Zahl drin!
Delphi-Quellcode:
Form3.Edit2.Text := Form1.Table_Einsaetze.FieldByName('EINSATZNUMMER').Text;
Form1.Table_Einsaetze_Event.Filtered := false; Form1.Table_Einsaetze_Event.Filter := 'EINSATZNUMMER='+ QuotedStr(Form3.Edit2.Text); Form1.Table_Einsaetze_Event.Filtered := true; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:09 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-2025 by Thomas Breitkreuz