Announcement

Collapse
No announcement yet.

probleme mit findkey

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

  • probleme mit findkey

    hallo,

    ich habe folgendes problem:
    wir haben eine selbstgestrickte suchfunktion, die auf findkey beruht.
    mit dieser funktion findet er einige artikel nicht!
    genau die selben artikel können aber über einen filter, welcher dann als ergebnismenge einen einzigen datensatz zurückgibt, gefunden werden!

    hier ein codeschnipsel wo ich beides teste:
    <pre>
    suchwert := trim(fieldbyname('NUMMER').AsString);
    //Table_Filtern(FormMainBike.TableMaterial, 'MATCHCODE = ' + chr(39) + suchwert + chr(39));
    if FFLocateRec(FormMainBike.TableMaterial,'XMATCHCODE ',[suchwert]) then
    </pre>

    hat jemand ne idee woran es liegen könnte, dass er mit filtern erfolgreich ist und mit findkey nicht?

    Gruß

    Markus
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

  • #2
    Hi Markus,
    .
    evtl. musst Du auf Groß-/Kleinschreibung achten. Lege dafür Deinen Index mit Upper() an und lasse dann mit UpperCase(suchwert) innerhalb von Findkey nach Deinem DS suchen.
    .
    Michae

    Comment


    • #3
      hallo marcus,
      michael hat recht, mit upper oder lowercase kann man
      da einiges mehr erreichen. Trotzdem mal ein tip:
      für solche Funktionen bietet sich auch immer eine Query bestens an.
      Du kannst deine Tablekompos trotzdem behalten indem du einfach ein cast machst
      Tquery(mytable).sql.clear;
      TQuery(mytable).sql.add('Select * from mytable where name =%'+suchwert order by name);
      Tquery(mytable).execsql;

      Gruß Andrea

      Comment


      • #4
        achso , bevor ich eine schelte bekomme:
        du solltest eine eigene Tquery deklarieren

        myquery:Tquery;
        und dann
        myquery := Tquery(mytable);
        ist halt sauberer;
        zum absuchen der ergebnismenge kannst du dei query benutzen
        myquery.first oder myquery.next oder du kannst auch wieder ein cast zurück machen TTable(myquery)

        Gruß Andrea

        Comment


        • #5
          @michael
          danke für den Tipp! wäre ich nie drauf gekommen.

          @andreas
          querys sind zu langsam! warum auch immer!
          habe erst kürzlich ein anderes formular von querys auf ttables umgestellt und danach war es ne rakete!

          Ich habe früher nur mit querys gearbeitet, aber bei meiner neuen firma wird fast alles mit ttable gemacht!

          Gruß

          Marku
          Herzliche Grüße

          Markus Lemcke
          barrierefreies Webdesign

          Comment

          Working...
          X