Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > SQL
Register FAQ Members List Calendar Guía de estilo Today's Posts

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 25/01/2007
ddd_ddd ddd_ddd is offline
Miembro
 
Join Date: Sep 2005
Posts: 60
Poder: 21
ddd_ddd Va por buen camino
problema sencillo en una consulta

Tengo una tabla que se llama: Cursos, sus campos son: id_curso, Tipo(puede ser basico, intermedio, ó avanzado), fecha_inicio y fecha_fin.
en un form tengo una maskedit1(para capturar el tipo de curso), un datetimepicker1(para capturar una fecha de inicio), un datetimepicker2(para capturar la fecha de fin) y un bitbtn1(para realizar la busqueda usando una query1).
este es el codigo que tengo en el bitbtn1:
Código Delphi [-]
query1.Active:=false;
query1.SQL.Text:=('select * from Cursos where RFC_Emp='+quotedstr(maskedit1.text)+' AND Fecha_I>='+
datetostr(DATETIMEPICKER1.Date)+'
 AND Fecha_F<='+datetostr(DATETIMEPICKER2.Date));
query1.Active:=true;
if (query1.recordcount<>0)then
    begin
      Table1.Locate('Tipo',maskedit1.Text,[]);
end;
Al correrlo y presionar el bitbtn1 me aparece este error:
type mismatch in expression
Supongo que tengo algo mal en la consulta, pero que???????
Gracias por tomarse el tiempo de leer mi explicacion

Last edited by marcoszorrilla : 25/01/2007 at 22:44.
Reply With Quote
  #2  
Old 25/01/2007
ddd_ddd ddd_ddd is offline
Miembro
 
Join Date: Sep 2005
Posts: 60
Poder: 21
ddd_ddd Va por buen camino
Si cambio la consulta asi:
Código SQL [-]
query1.SQL.Text:=('select * from Cursos where id_curso='+quotedstr(maskedit1.text)+' AND
 Fecha_Inicio>='+quotedstr(DATETOSTR(DATETIMEPICKER1.Date))+' AND
 Fecha_Fin<='+quotedstr(datetostr(DATETIMEPICKER2.Date)));
Asi no marca ningun error, pero no encuentra ningun resultado y si deberia de encontralo

Last edited by marcoszorrilla : 25/01/2007 at 22:44.
Reply With Quote
  #3  
Old 25/01/2007
marcoszorrilla's Avatar
marcoszorrilla marcoszorrilla is offline
Capo
 
Join Date: May 2003
Location: Cantabria - España
Posts: 11,221
Poder: 10
marcoszorrilla Va por buen camino
Código SQL [-]
query1.SQL.Text:=('select * from Cursos where id_curso='+quotedstr(maskedit1.text)+' AND
 Fecha_Inicio>='+quotedstr(FormatDateTime('mm/dd/yyyy',DATETIMEPICKER1.Date))+' AND
 Fecha_Fin<='+quotedstr(FormatDateTime('mm/dd/yyyy',DATETIMEPICKER2.Date));
__________________
Guía de Estilo de los Foros
Quote:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Reply With Quote
  #4  
Old 25/01/2007
ddd_ddd ddd_ddd is offline
Miembro
 
Join Date: Sep 2005
Posts: 60
Poder: 21
ddd_ddd Va por buen camino
Quote:
Originally Posted by marcoszorrilla
Código SQL [-]query1.SQL.Text:=('select * from Cursos where id_curso='+quotedstr(maskedit1.text)+' AND
Fecha_Inicio>='+quotedstr(FormatDateTime('mm/dd/yyyy',DATETIMEPICKER1.Date))+' AND
Fecha_Fin<='+quotedstr(FormatDateTime('mm/dd/yyyy',DATETIMEPICKER2.Date));

Me equivoqué en algo, id_curso no es lo que capturo en la maskedit1, sino que capturo el tipo de curso(basico, intermedio, o avanzado)
entonces el resultado deben de ser varios cursos.
Utilicé la consulta como dijiste(escribiste), y creo que funciona, pero luego puse dos bitbtns, uno con esta instruccion:
Código Delphi [-]
Table1.FindPrior;
y el otro con esta:
Código Delphi [-]
Table1.FindNext;
osea, para poder mostrar todos los posibles resultados que dio la consulta, con uno veo el resultado siguiente y con el otro veo el resultado anterior. El problema es que cuando doy clic en estos dos botones, me muestra todos los resultados de la tabla "Cursos" y no solo los que deberian de aparecer. Si en la maskedit1 escribí: basico, el primer resultado que me muestra si es de un curso de tipo basico, pero cuando doy clic en los botones para ver los demas resultados, me muestra de todos los tipos de cursos que tengo en la tabla, tipo basico, tipo intermedio y tipo avanzado.

Que estoy haciendo mal?

Last edited by ddd_ddd : 25/01/2007 at 23:43.
Reply With Quote
  #5  
Old 25/01/2007
marcoszorrilla's Avatar
marcoszorrilla marcoszorrilla is offline
Capo
 
Join Date: May 2003
Location: Cantabria - España
Posts: 11,221
Poder: 10
marcoszorrilla Va por buen camino
Lo que tienes que visualizar es la consulta, en donde tienes filtrados los registros que has pedido.

por lo tanto
Código Delphi [-]
Query1.First;

Query1.Last;

Query1.Next;

Query1.Prior;

Un Saludo.
__________________
Guía de Estilo de los Foros
Quote:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Reply With Quote
  #6  
Old 26/01/2007
ddd_ddd ddd_ddd is offline
Miembro
 
Join Date: Sep 2005
Posts: 60
Poder: 21
ddd_ddd Va por buen camino
CLARO!
no era necesario el componente table1. ahora me resulta obvio pero no me di cuenta hasta lo de query1.next ajjajaja, funciona de maravilla, gracias
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Sencillo: crear button sortilodio OOP 8 20/12/2006 13:32
Buscar y Encontrarlo es sencillo.... anghell77 Humor 7 04/10/2006 08:40
ayudita please, sencillo Otei OOP 3 18/11/2005 22:25
Un link a firebird 1.5 (sencillo) Jorge Taveras Firebird e Interbase 1 28/04/2004 22:08
Reporte sencillo en Excel....please seb@ Servers 7 24/03/2004 21:46


All times are GMT +2. The time now is 05:46.


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