Bueno segun veo, tu código tiene dos errores principales, el primero es que no has dejado un espacio despues de la clausula 'Between' y tambien debe haber un espacio antes y despues de el "And"
.
El segundo error es que MySQL guarda las fechas en éste formato > YYYY-MM-D , es decir :
Año-Mes-Día , lo que significa que al utilizar la funcion
DateToStr no le estas mandando el formato adecuado para la consulta.
Solucion: Para estos menesteres es bueno hacer uso de lo que se llama
Parámetros que son una especie de variables alas que se les puede asignar valores y utilizarlas en la consulta SQL, mas o menos de éste forma:
Código Delphi
[-] begin
If Active Then Close;
SQL.Clear;
SQL.Add('Select Empleado, Departamento');
SQL.Add('From Empleados');
SQL.Add('Where FechaIngreso Between :F1 And :F2');
ParamByName('F1').AsDate:=FechaIni.Date; ParamByName('F2').AsDate:=FechaFin.Date; Open;
end;
Nota:Como podrán observar el código anterior ,no me he preocupado por enviar la consulta con el formato adecuado tal como lo guarda MySQL, ésto se debe a que el propio DataSet que ejecuta la consulta ya sabe como hacerlo.
.
Saludos...