hallo,
folgendes problem:
auf einem formular sind zwei panels und ein grid in dem kundendaten angezeigt werden. ich habe auf panel1 eine generelle sortiermöglichkeit geschaffen, indem das onchange-ereignis einer combobox ausgewertet wird und die daten im grid via sql neu sortiert angezeigt werden:
DM1.DM1.IBKundenDS.Active:=False;
DM1.DM1.IBKundenDS.SelectSQL.Clear;
DM1.DM1.IBKundenDS.SelectSQL.Text:='SELECT * FROM kunden ORDER BY name';
DM1.DM1.IBKundenDS.Active:=True;
diese hat bisher problemlos funktioniert.
auf panel2 habe ich nun eine weitere sortiermöglichkeit geschaffen indem ich das onchange-ereignis eines edit-feldes auswerte und die namen der kunden nach eingabe eines jeden buchstabens filtere:
DM1.DM1.IBKundenDS.Active:=False;
DM1.DM1.IBKundenDS.SelectSQL.Clear;
DM1.DM1.IBKundenDS.SelectSQL.Text:='SELECT * FROM kunden where upper(name) LIKE '''+Edit1.Text+'%'+''' ORDER BY name';
DM1.DM1.IBKundenDS.Active:=True;
seit dieser zweiten möglichkeit funktioniert die erste leider nicht mehr (es wird zwar angezeigt, dass die sql-abfrage ausgeführt wird, die datenanzeige ändert sich aber nicht - es macht fast den eindruck, als wenn die zweite möglichkeit immer alle anderen "überschreibt") und ich erkenne trotzt einiger versuche nicht die ursach dafür.
hat da jemand eine gute idee???
hartmut
folgendes problem:
auf einem formular sind zwei panels und ein grid in dem kundendaten angezeigt werden. ich habe auf panel1 eine generelle sortiermöglichkeit geschaffen, indem das onchange-ereignis einer combobox ausgewertet wird und die daten im grid via sql neu sortiert angezeigt werden:
DM1.DM1.IBKundenDS.Active:=False;
DM1.DM1.IBKundenDS.SelectSQL.Clear;
DM1.DM1.IBKundenDS.SelectSQL.Text:='SELECT * FROM kunden ORDER BY name';
DM1.DM1.IBKundenDS.Active:=True;
diese hat bisher problemlos funktioniert.
auf panel2 habe ich nun eine weitere sortiermöglichkeit geschaffen indem ich das onchange-ereignis eines edit-feldes auswerte und die namen der kunden nach eingabe eines jeden buchstabens filtere:
DM1.DM1.IBKundenDS.Active:=False;
DM1.DM1.IBKundenDS.SelectSQL.Clear;
DM1.DM1.IBKundenDS.SelectSQL.Text:='SELECT * FROM kunden where upper(name) LIKE '''+Edit1.Text+'%'+''' ORDER BY name';
DM1.DM1.IBKundenDS.Active:=True;
seit dieser zweiten möglichkeit funktioniert die erste leider nicht mehr (es wird zwar angezeigt, dass die sql-abfrage ausgeführt wird, die datenanzeige ändert sich aber nicht - es macht fast den eindruck, als wenn die zweite möglichkeit immer alle anderen "überschreibt") und ich erkenne trotzt einiger versuche nicht die ursach dafür.
hat da jemand eine gute idee???
hartmut
Comment