Buenas a todos.
Llevo unos dias intentando solucionar un problema de uso de upper dentro de una sql firebird.
La consulta original es esta y funciona bien:
Código SQL
[-]SELECT A.IDCOMPRA, A.DATA_COMPRA, A.IDPROVEIDOR, B.RAO_COMERCIAL FROM TR0004C A, TR0002 B
WHERE B.IDPROVEIDOR = A.IDPROVEIDOR
ORDER BY IDCOMPRA
Lo que yo quiero es hacer un filtrado en el Edit1.Exit con el siguiente código:
Código Delphi
[-]procedure TF_BuscarCompraProv.Edit1Change(Sender: TObject);
var C:String;
begin
OrdenarGrid.Close;
if ComboBox1.Text='RAO_COMERCIAL' then
C:= 'B.'+ComboBox1.Text
else
C:= 'A.'+ComboBox1.Text;
OrdenarGrid.SQL[1] := 'WHERE B.IDPROVEIDOR = A.IDPROVEIDOR AND UPPER (C) like ''%'+AnsiUpperCase(Edit1.Text)+'%''';
OrdenarGrid.SQL[2] := ' ORDER BY '+Combobox1.Text;
OrdenarGrid.Open;
end;
Cuando entro en la consulta original funciona de perlas, pero cuando voy al Edit 1 y escribo algo me manda un error de column unknow C in line.......
Me olvido algo?
He probado con QuotedStr(C) y tampoco, con [QuotedStr(C)] tampoco nada.
Gracias por si alguien me puede ayudar.
Josep