Announcement

Collapse
No announcement yet.

Suchproblem mit _RecordSet.Find

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Suchproblem mit _RecordSet.Find

    Hallo zusammen,

    aus Performancegründen verwende ich für die Suche in Access-Datenbanktabellen _RecordSet.Find, nun habe ich aber das Problem dass die Suche NICHT erfolgreich ist wenn in Feldern gesucht wird die auch Werte mit Bindestrichen enthalten (via ADODataSet.Locate tritt das Problem nicht auf).

    Suche ich bspw. nach dem existierenden Wert "BioGel" und existiert ein Eintrag "B-aaa", dann stellt sich der Datensatzzeiger auf "B-aaa". Zusätzlich ist auch die Sortierung so, dass Werte mit einem Bindestrich VOR Werten mit Leerstellen einsortiert werden. Der Wert "B-xxx" wird vor "B aaa" einsortiert...

    Anwendung:
    var
    RS: _RecordSet;
    begin
    ...
    ...
    RS.Find( Format( 'Bezeichnung >= %s', [ QuotedStr(SearchValue ) ] ),
    0, adSearchForward, EmptyParam );

    Mit der Sortierung könnte ich (der Kunde) noch leben, aber die Fehlsuche ist fatal !

    Weiss jemand Abhilfe ?

    Danke für jede Antwort

    mfg Holger Rogge

  • #2
    Nachtrag zum Suchproblem,

    ich hatte vergessen zu erwähnen dass sich die Suche und die Sortierung in einem ADODataset-Clone so verhält.

    ArtikelClone.Clone( Artikel, ltReadOnly );

    In einem TBetterADODataSet verhält sich die Suche (die Sortierung eingeschränkt) korrekt!

    mfg Holger Rogg

    Comment


    • #3
      Hallo zusammen,

      mein Problem hat sich erledigt; ich habe es nun so gelöst dass ich bei der Suche den gesuchten / gefunden Begriff selbst vergleiche und ggf. weitersuche bis ich einen Begriff >= Suchbegriff erhalte...

      RS.Find( Format( 'Bezeichnung >= %s', [ QuotedStr( SearchValue ) ] ),
      1, adSearchForward, EmptyParam );
      DS.Resync( [ rmExact ] );

      Ich finde den Umstand, so verfahren zu müssen, nicht sehr glücklich aber naja... :-(

      Zeitlich kann ich übrigens keine Unterschiede entdecken, das entschädigt etwas.

      mfg Holger Rogg

      Comment

      Working...
      X