Horacio: como dice Francisco, usa un componente Query (lo encontrarás en la Paleta de Componentes, en la pestaña Data Access). Asigna la propiedad DatabaseName (puede ser un alias, o un directorio), y para hacer el resto por código te muestro un ejemplo:
1) Establecer la consulta SQL. Eso se hace a través de la propiedad SQL:
Query1.Active := False; // Cierra la consulta si estuviera abierta
Query1.SQL.Clear;
Query1.SQL.Add('SELECT * FROM tabla');
Query1.SQL.Add('WHERE fecha BETWEEN :fecha1 AND :fecha2');
En el ejemplo asumí que la tabla se llama "tabla", y que el campo por el que quieres filtrar se llama "fecha". He usado dos parámetros ("fecha1" y "fecha2"), que como verás se preceden por dos puntos (":") para indicar que son parámetros.
Alternativamente, puedes asignar la propiedad SQL con su propiedad Text:
Query1.Active := False; // Cierra la consulta si estuviera abierta
Query1.SQL.Text := 'SELECT * FROM tabla WHERE fecha BETWEEN :fecha1 AND :fecha2';
2) Lo común suele ser dejar la consulta preparada. Eso se hace con el método prepare:
Query1.Prepare;
3) Cuando quieras abrir la consulta, primero debes asignar el valor de los parámetros:
Query1.Active := False; // Cierra la consulta si estuviera abierta
// Asigna el valor de los parámetros
Query1.ParamByName('fecha1').AsDate := EncodeDate(2003,3,12);
Query1.ParamByName('fecha2').AsDate := EncodeDate(2003,4,12);
Query1.Active := True; // Abre la consulta
Así tienes el rango del 12/03/03 al 12/04/03 que querías.
Espero que te sea de utilidad.
Ernesto D'Spirito
http://www.latiumsoftware.com/es/index.php