Bien, amigo, pero nada de msn ni email privado, ni nada de eso, porque entonces no sirve de nada los foros. Como bien sabrás, en los foros se hacen preguntas y se contestan para que otras personas con problemas o dudas similares puedan hacer búsquedas y encontrar la respuesta. Si se hace "privadamente" entonces no hay soluciones y los foros no sirven de nada.
Bien, una vez soltado el rollo, y en espera de que hayas leído nuestra
guía de estilo , vamos al lío:
Tú tienes una tabla en la base de datos con productos y entre los campos están su CODIGO, NOMBRE Y FECHACADUCIDAD.
Ahora quieres consultar los productos que caduquen en xx días a partir de la fecha actual, ¿es eso?
Bien, entonces debes preguntar el número de días que quieras y luego hacer el select, algo así:
Suponemos que el usuario escribe:
20 días, entonces sería:
Código SQL
[-]select * from tbMedicamentos where fechacaducidad < 'now'+20
Ahora bien, si el usuario puede poner cualquier fecha y cualquier cantidad de días, entonces es mejor que te crees el select con parámetros y se los pases, por ejemplo, tienes un query:
Código Delphi
[-]query.close;
query.sql.text:='select * from tbMedicamentos where fechacaducidad < :lafecha + :numerodias';
query.params[0] := tudatetimerpicker.date;
query.params[1] := strtoint(tuedit.text);
query.open;
Evidentemente, el query estará asociado a un datasource y el datasource al dbgrid donde quieras mostrar los datos.