filterproblem bei datenbank



  • hi,

    folgendes, ich möchte ein dbgrid filtern. ich habe also einen button 'suche' wenn auf den geklickt wird soll ein edit-fenster erscheinen und wenn ich da was eingebe soll es in der db gefunden werden, klappt ja auch soweit, nur möchte ich wenn ich nach 'm' suche alle einträge angezeigt bekommen die mit 'm' anfangen??????!!!!!!! (am besten wäre es wenn man den inhalt von edit ändert, auch die db automatisch mitsucht: ich gebe m ein sie zeigt alle m einträge wenn ich dann noch zusätzlich a eingbe soll er alle 'ma' daten zeigen.....ich red mich um kopf und kragen. ich bin sicher ihr wisst was ich mein

    hab jetzt sowas:

    void __fastcall TForm1::Table1FilterRecord(TDataSet *DataSet, bool &Accept)
    {
    Accept = Table1->FieldByName("Strasse")->Value == Edit2->Text;
    }



  • Schau Dir mal die Filteroptions an. Man kann durch anhängen eines * (glaube ich wars) alles suchen was mit ma anfängt also der Filter wäre dann 'ma*'. Man muss da was aber im Filter einstellen!

    Gruß
    Al



  • ja das hab ich auch schon irgendwie probiert aber wie sieht der code dazu aus....in den filteroptions steht doch...fo bla bla wie soll da das * rein??? muss doch gehen das ich ihm sage Edit2->Text (*) oder so?!


  • Mod

    Hallo

    wann dann so

    Table1->FieldByName("Strasse")->Value == Edit2->Text + "*";

    MfG
    Klaus



  • also irgendwie gehts nicht richtig.....

    ich führe deine zeile aus aber dann ist die erste zelle im grid markiert und dann wenn ich runter scrolle springt er zum m KLASSE aber beim weiter scrollen schaut er wieder zeile für zeile also sucht nicht. ich will halt m eingeben und er soll mir alle einträge die mit m anfangen zeigen.....



  • hänschen klein schrieb:

    ich will halt m eingeben und er soll mir alle einträge

    Vielleicht so ...

    Table1->Filter = "FieldName >= 'M'";
    Table1->Filtered = true;
    

    und eventuell noch etwas an den Filteroptionen setzen (wegen Groß/Kleinschreibung).



  • ne ne ne klappt alles nicht....trotzdem danke für eure hilfe

    bye



  • Table1->Filter = "Strasse LIKE 'm%'";
    Table1->Filtered = true;
    


  • hänschen klein,
    was für eine Datenbank benutzt Du denn und mit welchen Komponenten arbeitest Du (Query oder Table).
    Nochwas: Die Filteranweisung solltest Du nicht (wie in Deinem ersten Posting) in den OnFilterRecord-Handler schreiben.


Anmelden zum Antworten