Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-09-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Pero qué problemas tienes?, exactamente qué necesitas, qué código tienes, en qué parte es en la que necesitas ayuda?
Responder Con Cita
  #2  
Antiguo 17-09-2011
luisraad luisraad is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 54
Poder: 13
luisraad Va por buen camino
haber. casimiro

el problema es que no tengo un cosigo en si...

quiero que es un DBGRID me liste o muestre los productos que estan a punto de ser vencidos para ello es necesario restar la fecha que se ingresa de vencimiento de los medicamentos a la fecha actual del sistema osea del computador al restar los valores este debe arrojar los dias de difenrecia esos mismos dias serian los restantes para que el medicamento caduque y alli se pone la ocndicion que si esos dias son 2o entonces los liste o muetre en el dbgrid

posdata
trabajo con SQL consulto el campo F_CADUCIDAD y ese mismo lo debo restar con un componente llamado Datetimepicker que trae la fecha actual del sistema y ese me debe dar los dias restantes pero no se como hacerlo creo que fui claro si no me toca darte mi msn y te explico mejor grax por la respuesta men
Responder Con Cita
  #3  
Antiguo 17-09-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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.
Responder Con Cita
  #4  
Antiguo 17-09-2011
luisraad luisraad is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 54
Poder: 13
luisraad Va por buen camino
bueno entendi, pero poseemos problemas ejje tienes qe tenerme un poco de pasiencia.

estoy trabajando con componentes ADO cuando copio el codigo le pongo ADO a el query que me posteas en tu ejemplo y me arroja error en el datetimepicker y en los parametros de hecho esos parametros son os que arrojan error

el error dice algo de que se desconoce la palabra 'params'... y el codigo si lo entiendo hasta mira no se me habia ocurrido de que el cliente puede listar escojiendo el mismo los numeros de dias restantes elcodigo lo entiendo pero no se como meterlo a la forma
Responder Con Cita
  #5  
Antiguo 17-09-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Claro, el código que he puesto antes "no funciona", era sólo como referencia para adaptarlo a lo que estás haciendo tú, que como no tengo ni idea de qué código usas, ni qué componentes, ni nada de nada... es sólo eso, para que te hagas una idea.
Responder Con Cita
  #6  
Antiguo 17-09-2011
luisraad luisraad is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 54
Poder: 13
luisraad Va por buen camino
bueno mira traduciendo lo que me escribes hago esto


ADOQuery1.close;
ADOQuery1.sql.text:='select * from MEDICAMENTOS where fechacaducidad < :lafecha + :numerodias';
ADOQuery1.Parameters.ParamByName('0') := datetimepicker1.date;
ADOTable1.parameters.parambyname('1') := strtoint(edit1.text);
ADOQUERY1.open

los corchetes que contienen los parametros dan error y los parentesis no... el error da a la asigacion!!!
Responder Con Cita
  #7  
Antiguo 17-09-2011
luisraad luisraad is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 54
Poder: 13
luisraad Va por buen camino
base de datos hecha en microsoft access
uso delphi 7

esta base de datos esta conectada a delphi mediante componentes ADO y tengo esto:

ADOconection
ADOtable
ADOQuery
(2) dataSource
1 DBGrid

el adoconection esta con el motor de la base de datos o algo asi
el adotable contiene la tabla 'MEDICAMENTOS' de la base de datos
el adoquery pues esta conectado con el adoconection y en el SQL la consuta select* from MEDICAMENTOS F_CADUCIDAD
y el dbgrid asociado al ADOQuery el datasource 2 con el adoquery1 y el datasource1 con el adotable1

de esta manera
Responder Con Cita
  #8  
Antiguo 17-09-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
cual es la sentencia que estas colocando en el Adoquery?
tiene parametros?

Código Delphi [-]
Adoquery1.close;
Adoquery1.sql.text:='select * from tbMedicamentos where fechacaducidad < :lafecha + :numerodias';
Adoquery1.params[0] := tudatetimerpicker.date;
Adoquery1.params[1] := strtoint(tuedit.text);
Adoquery1.open;

si adecuas tu sentencia a la que te mostro casimiro en el ejemplo anterior, te deberia funcionar
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Manejo de Fechas - Sumar o restar días r1d2m3 OOP 2 30-10-2010 03:06:24
Manejo de Fechas en Firebird 2.1 Jose Roman SQL 3 17-02-2009 17:15:03
Manejo de Fechas en Delphi para enviar una consulta rgstuamigo OOP 7 09-10-2008 23:26:14
Manejo de fechas nazly Varios 2 14-03-2008 19:05:23
Manejo de fechas Leogiro OOP 2 11-09-2004 00:22:39


La franja horaria es GMT +2. Ahora son las 05:03:30.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi