Ver Mensaje Individual
  #3  
Antiguo 12-02-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Muy posiblemente el formato en que pones las fechas no es el adecuado para Access. Normalmente los motores usan formatos con separadores entre el día, mes y año y entre unos y otros cambia el orden en que se colocan.

Desconozco cuál es el adecuado para Access pero por lo regular este problema desaparece cuando usas consultas parametrizadas. Pon tu consulta así:

Código SQL [-]
select sum(cantidad_vta) from Venta
where
  clave_dis = :clave_dis and
  fecha_venta >= :fecha_inicial and
  fecha_venta <= :fecha_final

Antes de abrir la consulta sustituyes los parámetros:

Código Delphi [-]
Query1.ParamByName('clave_dis').AsInteger := StringGrid1.Cells[0,f];
Query1.ParamByName('fecha_inicial').AsDate := FechaInicial;
Query1.ParamByName('fecha_final').AsDate := FechaFinal;

donde FechaInicial y FechaFinal son variables de tipo TDate con los valores adecuados.

La componente Query será la encargada de traducir las fechas al formato correcto.

Por cierto, en la consulta que tienes me parece que tampoco van los paréntesis que rodean a sum(cantidad_vta) ylos rangos de fechas los puedes especificar con BETWEEN:

Código SQL [-]
select sum(cantidad_vta) from Venta
where
  clave_dis = :clave_dis and
  fecha_venta between :fecha_inicial and :fecha_final

EDITO:

Bueno, veo que se me han adelantado y sin tanto rollo.

// Saludos
Responder Con Cita