Ciao a tutti,

eseguo una IBQuery premendo un pulsante e ne visualizzo il suo risultato in una DBGrid.
codice:
    IBQuery1.Close;
    IBQuery1.SQL.Clear;
    IBQuery1.SQL.add('SELECT *');
    IBQuery1.SQL.add(' from Movimenti');

    if DBEdit1.Text <> '' then
     begin
     IBQuery1.SQL.add(' where');
     IBQuery1.SQL.add(' fornitore like :PARAM1 ');
     IBQuery1.ParamByName('Param1').AsString:= DBEdit1.Text ;
     end;

    IBQuery1.SQL.Add(' ORDER BY data');

    IBQuery1.Open ;
questo codice funziona bene, se DBEdit1.Text e' = '' vengono visualizzati tutti i record della tabella Movimenti, se invece DBEdit1.Text e' = '13' vengono visualizzati solo i record del fornitore '13'......qui e' tutto ok!

...e' nata l'esigenza di poter modificare i valori di questa query, quindi ho sostituito l'oggetto IBQuery con un Oggetto IBdataset.
codice:
    IBDataset1.Close;
    IBDataset1.SelectSQL.Clear;
    IBDataset1.SelectSQL.add('SELECT *');
    IBDataset1.SelectSQL.add(' from Movimenti');

    if DBEdit1.Text <> '' then
     begin
     IBDataset1.SelectSQL.add(' where');
     IBDataset1.SelectSQL.add(' fornitore like :PARAM1 ');
     IBDataset1.ParamByName('Param1').AsString:= DBEdit1.Text ;
     end;

    IBDataset1.SelectSQL.Add(' ORDER BY data');

//    mia:= IBdataset1.selectsql.text;

    IBDataset1.Open ;
con questo codice se DBEdit1.Text e' = '' vengono visualizzati tutti i record della tabella Movimenti, se invece DBEdit1.Text e' = '13' non viene ottenuto alcun risultato! IBdataset e' vuoto!

come se avesse problema con il parametro che gli passo.
ho controllato con il debugger il valore IBdataset1.selectsql.text e questo era = 'select * from fornitori where fornitore like :PARAM1 ORDER BY data'

a voi e' capitato mai?

grazie