Ver Mensaje Individual
  #1  
Antiguo 16-04-2015
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Reputación: 17
jafera Va por buen camino
Uso de Upper en sentencia SQL

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
Responder Con Cita