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