Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Consulta con Tquery (https://www.clubdelphi.com/foros/showthread.php?t=57212)

Alsaca 08-06-2008 17:30:09

Consulta con Tquery
 
Buenas tardes a todos/as. Comento mi problema, el cual me tiene parado totalmente.


Tengo un form principal, con una tabla paradox llamada tclient, en la cual hay cuatro date, (f_exp, f_cad) y (f_expe, f_cade). Pulsando un botón de este form, consigo ir a otro form, donde me aparece un dbgrid. Quisiera conectarlo con una tquery. Mi pregunta es la siguiente, al pulsar:

Botón1(Por Caducar)

Al pulsar este botón, que me aparezcan en el dbgrid todas las fechas que no estén caducadas.


Botón2(Por Caducar 30 días y menos de 30 días)

Al pulsar este botón, que me aparezcan en el dbgrid todas las fechas que le falten 30 días para caducar.


Botón3(Caducadas)

Al pulsar este botón, que me aparezcan en el dbgrid todas las fechas caducadas.


Espero haberlo explicado bien, o por lo menos que podáis entender, lo que necesito.


Un saludo y muachas gracias.

tcp_ip_es 23-06-2008 12:31:25

Lo mismo ya lo has solucionado, ya han pasado 2 semanas desde tu post :D pero bueno como yo lo haría es asociando el dbgrid a una consulta genérica y cuando pinches los botones cambies dicha consulta: siendo estas las consultas:

Código:

// onclick Boton 1
tquery.close;
tquery.sql.clear;
tquery.sql.add('select f_cad from tclient where f_cad < :DAhora');
tquery.parambyname('DAhora').value:=DateToStr(Date);
tquery.open;

// onclick Boton 2: Para 30 días exactos
tquery.close;
tquery.sql.clear;
tquery.sql.add('select f_cad from tclient where f_cad = :DTreinta);
tquery.parambyname('Dtreinta').value:=DateToStr(Date+30);
tquery.open;

// onclick Boton 3
tquery.close;
tquery.sql.clear;
tquery.sql.add('select f_cad from tclient where f_cad > :DAhora);
tquery.parambyname('DAhora').value:=DateToStr(Date);
tquery.open;

Espero haberte ayudado. Saludos, Tony

Alsaca 23-06-2008 12:46:06

Gracias Tony, lo probaré inmediatamente y te cuento. La verdad que ya no esperaba respuestas, por eso te estoy muy agradecido.



Saludos.

Alsaca 23-06-2008 13:15:29

Tony, ya lo he probado, y me da el siguiente error: Type mismatch in expresion.




Saludos.

tcp_ip_es 23-06-2008 15:25:34

cambia en los 3 tquery.parambyname(xxxx).value por la siguiente linea:

Código:

tquery.parameters[0].value:=DatetoSTR(xxxxx)
Ya me cuentas....

Alsaca 23-06-2008 16:33:31

Tony, lo siento, pero ahora da este error: Undeclarer identifier: 'parameters'.




Saludos.

tcp_ip_es 24-06-2008 08:13:11

upsss perdona, es que yo trabajo con tadoquerys, supongo que tu trabajaras con tquery a secas ;), bueno pues con una tquery en vez de parameters es params de tal manera que:

Código:

query1.Params[0].value:=Edit1.text;
Saludos, Tony

basti 24-06-2008 08:20:53

Te aconsejo que no uses value para los parámetros cuando sea posible, sobre todo si el campo es de tipo fecha. Así hace la conversión del formato fecha automáticamente sin preocuparte del formato.

Código Delphi [-]
tquery.ParamByName('DAhora').AsDatetime := Date;

Alsaca 25-06-2008 16:22:13

Gracias a todos lo s que me habéis ayudado, prácticamente está resuelto.




Saludos, Alsaca.


La franja horaria es GMT +2. Ahora son las 19:54:32.

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