Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Manejo de Fechas de vencimiento en delphi 7 (https://www.clubdelphi.com/foros/showthread.php?t=75765)

Caral 18-09-2011 00:34:07

Hola
Código Delphi [-]
doquery1.close;
Adoquery1.sql.text:='select * from MEDICAMENTOS where F_CADUCIDAD < :lafecha + :numerodias';
Adoquery1.Parameters[0].Value := datetimepicker1.date;
Adoquery1.Parameters[1].value := strtoint(edit1.text);
Adoquery1.open;
Saludos

oscarac 18-09-2011 00:34:50

hace 1 hora te dije como hacerlo
en lugar de poner '0' y '1', coloca los nombres de los parametros

lafecha
numerodias
Código Delphi [-]
Adoquery1.Parameters.ParamByName('Lafecha') := datetimepicker1.date;
Adoquery1.Parameters.ParamByName('numerodias') := strtoint(edit1.text);

Caral 18-09-2011 00:41:04

Hola
Cita:

Empezado por oscarac (Mensaje 412458)
hace 1 hora te dije como hacerlo
en lugar de poner '0' y '1', coloca los nombres de los parametros

lafecha
numerodias
Código Delphi [-]
Adoquery1.Parameters.ParamByName('Lafecha') := datetimepicker1.date;
Adoquery1.Parameters.ParamByName('numerodias') := strtoint(edit1.text);

Código Delphi [-]
Adoquery1.Parameters.ParamByName('Lafecha') QUE???? := datetimepicker1.date;
Adoquery1.Parameters.ParamByName('numerodias') QUE???? := strtoint(edit1.text);

Estas seguro amigo?.
El parametro de que tipo es???.

No sera:

Código Delphi [-]
Adoquery1.Parameters.ParamByName('Lafecha').value := datetimepicker1.date;
Adoquery1.Parameters.ParamByName('numerodias').value := strtoint(edit1.text);

?????:confused:
Saludos

oscarac 18-09-2011 00:42:31

falta cafe amigo caral

sorry me olvide poner el .value

Caral 18-09-2011 00:44:08

Hola
Te voy a enviar una jarra para que no te falte.:D;)
Saludos

luisraad 18-09-2011 00:53:52

vamos a retomar de nuevo el tema amigos.
en referencia a lo que he posteado anteriormente quiero una aplicacion que me traiga la fecha de los medicamentos en el campo F_CADUCIDAD y me los compare con un datetimepicker...

me dieron este codigo

Código Delphi [-]
doquery1.close;
Adoquery1.sql.text:='select * from MEDICAMENTOS where F_CADUCIDAD < :lafecha + :numerodias';
Adoquery1.Parameters[0].Value := datetimepicker1.date;
Adoquery1.Parameters[1].value := strtoint(edit1.text);
Adoquery1.open;
este debe traerme los medicamentos especificandole los dias antes de su vencimiento ejemplo:le pongo 20 al (edit)y este me debe traer los medicamentos que les hace falta 20 dias para vencerseme da un error ' no coincide la expersion de criterios' ((pero ya compila))

Caral 18-09-2011 00:55:20

Hola
Cita:

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

Creo que falta el tipo de campo, se supone que serán esos, como tampoco lo has dicho.

Amigo ADO no tiene params[ ] genera un error.
Es una de las cosas que cambia con IBX.
Ado usa Parameters[ ].
Saludos

luisraad 18-09-2011 00:55:32

Código Delphi [-]
doquery1.close;
Adoquery1.sql.text:='select * from MEDICAMENTOS where F_CADUCIDAD < :lafecha + :numerodias';
Adoquery1.Parameters[0].Value := datetimepicker1.date;
Adoquery1.Parameters[1].value := strtoint(edit1.text);
Adoquery1.open;
este es el codigo que pena se daño en el anterior mensaje

Caral 18-09-2011 00:58:44

Hola
No coincide la expresion de criterios por que estas sumando mal el edit a la fecha.
Habria que ver en que formato as puesto la fecha en la tabla.
Creo que puedes colocar el programa completo aqui.
Quitale el exe, ponlo en un zip y subelo, lo reviso y te digo las fallas.
Saludos

luisraad 18-09-2011 00:59:43

cuando me hablan del tipo de campos a que se refieren exacamente... el tipo de campo fecha en la base de datos es TEXTO... osea el campo F_CADUCIDAD, no esta en FECHA/HORA si no TEXTO en la base de datos de access

Caral 18-09-2011 01:00:29

Hola
Ahi esta el error
Saludos

Casimiro Notevi 18-09-2011 01:04:29

Cita:

Empezado por luisraad (Mensaje 412467)
cuando me hablan del tipo de campos a que se refieren exacamente... el tipo de campo fecha en la base de datos es TEXTO... osea el campo F_CADUCIDAD, no esta en FECHA/HORA si no TEXTO en la base de datos de access

:confused::confused::confused::eek::eek::eek: pues vale :):p

Caral 18-09-2011 01:06:12

Hola
Estas haciendo una comparacion de un Datetimepicker que es tipo Date con un campo que es tipo Text.
Access en esto es un poco quisquillosa ya que genera un signo numerico a la fecha algo como esto #.
Es algo complicado si no se sabe, pero muy sencillo una vez que se conoce esto.
Saludos

luisraad 18-09-2011 01:10:05

ustedes son exc elentes jejej me agrada eso... haber moderador sera que puedo adjuntar un archivo y istedes lo checan es la aplicacion tiene la base de datos y la forma de delphi puedo???:D

Caral 18-09-2011 01:12:14

Hola
Se habra ganado el derecho a poner archivos ????:confused:
A ver ;):D
Saludos
PD: Creo que se tiene que postear un numero x, pero no se cual es..:D

luisraad 18-09-2011 01:14:22

caral
en el campo en donde tengo el espaci de guardar el medicamento en la parte de insertar la fecha de caducidad no tengo un datetimepicker tengo es un edit.text que me recibe la fecha de vencimiento... pues mi tutor es el que me esta guiando pero veo que esta mas perdido que mejor dicho...

osea que la fecha que dijito se guarda en la base de datos como texto... veo que el error esta al traermela

pero ocurre algo curioso cuando en el campo de insertar fecha de vencimiento en la forma de guardar medicamnto coloco el datetimepicker y coloco el dia reviso la tabla de access y en el campo fecha guarda la fecha que le indico acompañado de una hora ejemplo

07/09/2001 8:36pm

siempre la misma hora

Casimiro Notevi 18-09-2011 01:17:08

Sí, puedes adjuntar, cuando escribes un mensaje, mira un poco más abajo, ahí verás la opción para subir un archivo.

Caral 18-09-2011 01:17:09

Hola
De mi parte, para tu tutor...................
Si un tutor te dice que pongas en una BD la fecha en formato texto, cambia de tutor, corre, pero corre fuertemente.
Como dice Melqueades, Corramos hacia la derecha:D:D
Saludos

Casimiro Notevi 18-09-2011 01:24:52

Recuerdo que los archivos DBF guardaban las fechas en formato texto,

Mi admirado Wayne Ratliff:
Cita:

Empezado por wikipedia
El creador original de dBase fue Wayne Ratliff [3]. En 1978, durante su estancia en el Jet Propulsion Laboratory (Laboratorio de Propulsión a Chorro) Ratliff escribió un programa de base de datos en ensamblador para ordenadores con sistema operativo CP/M para ayudar con las apuestas de fútbol en la oficina. Lo denominó Vulcan en referencia al personaje Mr. Spock de Star Trek. Se basó en el JPLDIS (Jet Propulsion Laboratory Display Information System) desarrollado por Jeb Long. Más tarde lo usó para preparar sus impuestos y decidió que tenía un potencial comercial.


luisraad 18-09-2011 01:27:13

aqui amigos


La franja horaria es GMT +2. Ahora son las 11:57:52.

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