![]() |
Query unabhängig von Groß- oder Kleinbuchstaben filtern
Hallo,
ich habe eine Abfrage, die eine große Anzahl Datensätze liefert. Um das Durchsuchen einfacher zu machen, möchte ich die Abfrage filtern. Nun habe ich mit
Delphi-Quellcode:
einen Filter eingebaut, der bei jeder Eingabe die Abfrage neu filtert. Ziel ist, mit fortschreitender
strUpC := UpperCase(edtFilter.Text);
with qryMusic do begin Close; Filtered := False; if edtFilter.Text <> '' then begin strFilter := '(Interpret = ' + '''' + edtfilter.Text + '*'+ '''' + ')'; strFilter := strFilter + ' OR '; strFilter := strFilter + '(Interpret = ' + '''' + strUpC + '*'; strFilter := strFilter + '''' + ')'; Filter := strFilter; Filtered := True; end; Open; end; Eingabe das Filterergebnis immer weiter zu verkleinern. Das Problem ist nun, das bei Eingabe von "a" alles gefunden wird, was mit "a" und "A" beginnt, aber beim zweiten Buchstaben, z. B. "b" würde alles mit "ab" und "AB" gefunden werden, aber nichts mit "Ab" am Wortbeginn. Wie kann ich denn die Suche so gestalten, dass, wenn ich Kleinbuchstaben eingebe, trotzdem alles gefiltert werden kann? Gruß Frank |
Re: Query unabhängig von Groß- oder Kleinbuchstaben filtern
Es gibt die Eigenschaft FilterOptions
Zitat:
|
Re: Query unabhängig von Groß- oder Kleinbuchstaben filtern
Tja, "Filter" ist eines der Wörter, die sehr beliebt sind und trotzdem für Ärger sorgen, weil sie nicht richtig verstanden werden. 8) In Deinem Delphi-Programm ist jetzt mit Upcase alles groß, aber in der DB nicht ! Da muß noch in den SQL-String ein UPPER rein.
|
Re: Query unabhängig von Groß- oder Kleinbuchstaben filtern
In welchen SQL-String?
Er braucht nur den Code etwas ändern:
Delphi-Quellcode:
procedure TForm1.edtFilterChange(Sender: TObject);
var strFilter: String; begin //Filtereigenschaft einstellen qryMusic.FilterOptions := [foCaseInsensitive]; with qryMusic do begin Close; Filtered := False; if edtFilter.Text <> '' then begin //diese Zeile reicht schon aus strFilter := '(Interpret = ' + '''' + edtfilter.Text + '*'+ '''' + ')'; Filter := strFilter; Filtered := True; end; Open; end; end; |
Re: Query unabhängig von Groß- oder Kleinbuchstaben filtern
Hallo djmasi,
genau das wars, funzt jetzt so wie es soll. Danke! Gruß Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:50 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