Generar parametros de busqueda por fecha (y por otro dipo de datos tambien) en foxpro es algo sencillo! Hay varias maneras de hacerlo...! Puede ser por: una consulta generada con un SELECT a una tabla, un filtro aplicado a la tabla mediante el comando SET FILTER TO... tambien se puede usar sobre una tabla un comando LOCATE FOR y asi buscar un registro especifico... ves! :) Todo depende de que, como y donde quieres buscar (consultar). Puede aplicar a una condicion de filtro en una consulta, lo puedes hacer para mostrar datos en un formulario a traves de controles (Grid, Texts, Combos, etc) y tambien para un informe!
1. Consulta con SELECT
Te ejemplificare como se hace: crea un formulario y agregale: 2 textsbox (text1 y text2, rspectivamente), 2 botones (generar consulta y salir, respectivamente). Crea una tabla llamada "consulta" y agregale los campos: numero (formato numerico) y fecha (formato DATE). Agrega registros de forma manual a la tabla y establece una secuencia de fechas (del 01 al 10 del mes tal del ano tal, por ejemplo). Anda a las propiedades de los texts, en la pestanna DATA selecciona la propiedad FORMAT y coloca una "D" (sin comillas, asi: D) esto es para que los texts te permitan capturar datos con _/ _/ _ El text1 sera la fecha inicial y el text2 la final! :) El asunto de esto sera: mostrar los numeros que esten entre las fechas que especifiques! :)
NOTA: debes tener en cuenta que las tablas de foxpro almacenan los datos de tipo DATE (fecha) con el formato mes/dia/anno! Para pasarla al formato que notros usamos dia/mes/anno, debes establecer en el evento INIT() de tu form:SET DATE BRITISH
Si queres saber mas sobre los formatos de fecha, lee aqui :)
http://msdn.microsoft.com/es-es/library/cc467284(v=vs.71).aspxUna vez agregados los datos a la tabla, anda a tu form, en modo de diseno y agrega la tabla al entorno de datos. EN el boton generar, coloca un codigo como este:
LOCAL dfecha1, dfecha2
dfecha1 = CTOD(THISFORM.Text1.Value)
dfecha2 = CTOD(THISFORM.Text2.Value)
**--Generamos consulta
SELECT numero, fecha FROM consulta WHERE fecha => dfecha1 AND dfecha2 =< dfecha2 INTO CURSOR curtemp1
**--Mostramos consulta
BROWSE
Ahora guarda y proba! Inserta las fechas y dale click a generar! La consulta se generara, incuyendo solo los registros comprendidos entre las fechas que has especificado! Ves! :) CTOD() es una funcion que se utiliza para convertir a una expresion de fecha los datos ingresados en los texts!
Proba esta respuesta! Y si te funciona, pasaremos a la segunda forma, a traves de un SET FILTER a la tabla! Tambien, como generarlos con un reporte o en un formulario! Si no te funciona, avisame para ayudarte!
Estoy a tus ordenes!
Saludos!
Desde Managua, Nicaragua!
Ravenn! :D :D :D