Antes de seguir, asegúrate de que el select que has puesto devuelve valores.
Imagina que haces esto
Tabla facturas
Código:
Factura campo1 campo2 campo3
1 AAA BBB CCC
2 AAA BBB DDD
3 JJJ KKK LLL
5 EEE DDD NNN
SELECT:
Código SQL
[-]
select campo1,campo2,campo3 from facturas
where factura=:factura
Luego le dices que el parámetro factura = 4
Código Delphi
[-]
try
...
qrfactura.Params.ParamByName('factura').Value := 4;
qrfactura.Open;
...
finally
qrfactura.Free;
end;
No te devuelve nada porque no hay ningún registro con factura=4