Forum: Datenbanken
Delphi
by marabu,
11. Dez 2006
Okay, verstehe.
Die Kombination der beiden Filtertechniken (OnFilterRecord() und Filter/ed) ist zulässig. Die entsprechende Hilfeseite in der Online Hilfe hast du sicher gelesen. Ich bin sicher, dass du den Fehler irgendwo in deinem Code stecken hast. Wenn du nicht weiter kommst, dann kannst du eine Demo erstellen mit der man dein Problem sehen kann. Fehler die ich reproduzieren kann, kann...
Forum: Datenbanken
Delphi
by marabu,
11. Dez 2006
Hallo,
ich kann mir gar nichts darunter vorstellen, wenn du schreibst "Aber es geht immer noch durcheinander". Auch wüsste ich nicht, wie die Auswertung des Filterkriteriums im Ereignis OnFilterRecord() ein wechselndes Ergebnis liefern könnte, je nachdem wie oft die Routine durchlaufen wird. Ich fürchte du musst das alles etwas besser beschreiben, damit ich verstehe.
Freundliche Grüße
Forum: Datenbanken
Delphi
by marabu,
10. Dez 2006
Hallo Stefan,
bevor du den Filter neu setzt, solltest du Filtered auf False setzen. Und schau mal hier:
// s := Caption;
// s := StringReplace(s, '&', '', );
s := Menus.StripHotKey(Caption);
Gute Nacht
Forum: Datenbanken
Delphi
by marabu,
10. Dez 2006
Hi,
kannst du das genauer beschreiben? Wie gehst du vor und was passiert?
Freundliche Grüße
Forum: Datenbanken
Delphi
by marabu,
10. Dez 2006
Hi,
wenn NULL-Werte vorkommen können, dann kann man sich auch so helfen:
Accept := Match(VarToStr(DataSet), sMatch);
Freundliche Grüße
Forum: Datenbanken
Delphi
by marabu,
8. Dez 2006
Sorry, hier ein Nachschlag:
function CompactStr(const s: String; c: Char = ' '): String;
var
i, iDel: Integer;
begin
Result := s;
iDel := 0;
for i := 1 to Length(s) do
Forum: Datenbanken
Delphi
by marabu,
8. Dez 2006
Hallo Stefan,
wenn das Datenbankfeld immer einen Wert enthält, der durch das Weglassen beliebiger Ziffern aus der Zeichenfolge 0123456789 gebildet werden kann, dann würde ich einen pattern match mit dem Operator LIKE vorbereiten:
function MatchStr(const sFilter: String; cWild: Char = '%'): String;
var
i: Integer;
begin
Result := StringOfChar(cWild, 10);