Ver Mensaje Individual
  #1  
Antiguo 09-02-2011
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Reputación: 16
microbiano Va por buen camino
ayuda consulta sql

resulta que tengo que sacar la fecha de ultimo pago de un cliente, para ello lo quiero hacer con la siguiente funcion;

Código Delphi [-]
procedure TFcobro.ultimo_pago;
var wcontrato_meses:string;
 wanio_ejercicio:string;
begin
 wanio_ejercicio:=FormatDateTime('yyyy',Date);
 wcontrato_meses:=Trim(Self.txtcontrato.Text);

 if wcontrato_meses<>'' then
  begin
    with fmodulo.Qry_Temp do
     begin
       sql.Clear;
       SQL.Add('SELECT contrato,anio, Max(Fecha) AS Fecha');
       sql.Add('from recibo');
       sql.Add('group by contrato,anio');
       sql.Add('(((having contrato)=:Pcontrato) and ((anio)=:Panio)');
       Parameters.ParamByName('Pcontrato').Value:=Trim(wcontrato_meses);
       Parameters.ParamByName('Panio').Value:=Trim(wanio_ejercicio);
       try
        Open;
        if not Fmodulo.Qry_Temp.IsEmpty then
         begin
          while not Fmodulo.Qry_Temp .Eof do
           begin
             self.L_ultimaFechaPago.Caption:=DateToStr(FieldByname('fecha').AsDateTime);
             Next;
           end;
         end;  
       except
        on e: EoleException do
         begin
          MessageDlg(Format('Error: %s    Codigo: %d', [E.Message, E.ErrorCode]), mtError, [mbOK], 0);
         end;
       end;  
     end;  
  end;
end;

sin embargo, me muestra un error cuando paso los parametros que es el siguiente:

Error: Error de sintaxis (falta operado) en la expresión de consulta 'anio (((having contrato=?) and ((anio)=?)' codigo: -2147217900


no entiendo por que si ejecuto la consulta desde el analizador de consultas no tengo problemas.


que creen que pueda ser, de antemano muchas gracias por tomarse el tiempo para leer este mensaje.
Responder Con Cita