23. März 2015 14:33
Text := '@*suchbegriff*'
Item.SETCURRENTKEY( "Search Description" );
Item.SETFILTER( "Search Description", '%1', Text );
IF Item.COUNT > 1 THEN BEGIN
//Zeige Liste ...
"Search Description" LIKE '%FR[AÀÁÂÃÄÅ][NÑ]KF[UÙÚÛÜ]RT[EÈÉÊË]R%')
"Search Description" LIKE '%FRANKFURTER%')
23. März 2015 14:46
23. März 2015 14:59
Markus Merkl hat geschrieben:Hast Du in der DB die Option 'Akzent beachten'?
23. März 2015 22:05
23. März 2015 22:57
24. März 2015 09:47
martinst hat geschrieben:Ich denke das Problem ist eher beim Filter mit dem führenden * zu suchen.
Muss die Suche den per default so sein?
JoergR hat geschrieben:Ich schätze mal das das COUNT deine Performance runterzieht. Mach mal bitte ein NOT ISEMPTY draus und versuchs nochmal.
24. März 2015 15:09
24. März 2015 15:18
JoergR hat geschrieben:Wenn der Wert von COUNT nicht exakt stimmen muss, kannst du auch COUNTAPPROX verwenden. Es ist eine Näherung an den reellen Wert.
Aber merke, wenn die Verarbeitung nur in Abhängigkeit einer leeren Ergebnismenge steht, und der Rec danach nicht benutzt wird, dann ISEMPTY verwenden. Es spart dir eine SQL Abfrage (u.U. mit LIKE auf ein Textfeld, = worst case für SQL = table scan)
IF NOT Item.GET(Text) THEN BEGIN
Item.SETFILTER( "Search Description", '%1', Text );
IF NOT Item.ISEMPTY THEN BEGIN
ItemList.LOOKUPMODE(TRUE);
...
....