Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-10-2007
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
Busqueda por fecha IBquery

hola amigos, necesito que me echen una mano con un codigo que me esta aproblemando

Utilizo delphi 2006 conectado a firebird 2.0. Tengo una tabla llamada Registros, dentro de la cual existe un campo llamado Fecha. Este tiene formato DATE (EJ: 18-10-2007)

En un TForm tengo 2 TCalendar y un TIBQuery... Necesito hacer una consulta a la tabla registros, donde pregunto por coincidencias con respecto al campo Fecha.

Ahora bien.... la consulta se hace con respento a los dias seleccionados en los TCalendar... es decir, desde que dia (Calendar1) hasta que fecha Calendar2).

Lo tengo funcionando de la siguiente manera....

Código Delphi [-]
ibquery1.Close;
ibquery1.SQL.clear;
ibquery1.sql.add('Select * from Registros');
ibquery1.sql.Add('where dia = :fecha');
ibquery1.parambyname('fecha').asdatetime:=calendar1.CalendarDate;
 
J:=(daysbetween(calendar1.calendardate,calendar2.calendardate));
for I := 1 to J do    // dia
begin
ibquery1.sql.add('OR dia = :fecha'+inttostr(I));
ibquery1.parambyname('fecha'+inttostr(I)).asdatetime:=calendar1.CalendarDate+I;
end;
 
ibquery1.open;

... funciona bien, hasta que tengo que hacer una consulta que va desde 2 meses distintos, es decir desde (calendar1) 28-08-2007, hasta (calendar2) 5-10-2007.

Ahora bien, ni siquiera he pensado en cuando tenga que hacer una consulta que involucre distintos años....

Alguien me puede ayudar con alun codigo que me solucione mi problema....

muchas gracias por su tiempo

saludos
Responder Con Cita
  #2  
Antiguo 23-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Antes de tratar de darte una respuesta quiero que me aclares algo...

¿Tu quieres que la consulta te devuelva la informacion que esta en la fecha seleccionada del Calendario1 y tambien la del Calendario2 o quieres que te devuelva toda la información que esta entre la fecha seleccionada del calendario1 y el calendario2?

Osea, ¿Cual de los dos siguientes ejemplos quieres obtener?:

1. Todos los registros del 28-08-2007 y de 05-10-2007.

o

2. Todos los registros que estan entre 28-08-2007 y 05-10-2007.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 23-10-2007
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
perdon si no fui claro... pero necesito una respuesta para la segunda opcion...

Por Ejemplo:

"Todos los registros que estan entre 28-08-2007 y 05-10-2007."

Gracias
Responder Con Cita
  #4  
Antiguo 23-10-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Creo que te estás complicando la vida de una manera exagerada !!

Código Delphi [-]
ibquery1.SQL.clear;
ibquery1.SQL.Add('Select * from Registros');
ibquery1.SQL.Add('where dia between :fecha1 and :fecha2');
ibquery1.ParamByName('fecha1').AsDateTime := Calendar1.CalendarDate;
ibquery1.ParamByName('fecha2').AsDateTime := Calendar2.CalendarDate;
ibquery1.Prepare;
ibquery1.Open;

__________________
Piensa siempre en positivo !
Responder Con Cita
  #5  
Antiguo 23-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Lo que dice gluglu es cierto, si eso es lo que necesitas no tienes que complicarte tanto la vida, con hacer lo que él dice bastara .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
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
ibquery + gauge (progreso de una busqueda) mjjj Varios 0 19-10-2007 17:34:56
busqueda registro en ibquery mjjj Firebird e Interbase 4 02-10-2007 16:28:01
Busqueda segun el mes de una fecha(no la fecha completa) federiconqn21 Firebird e Interbase 1 05-05-2006 15:39:53
Busqueda en un campo fecha seken Varios 7 14-04-2005 14:11:19
Busqueda de un registro con IBQuery Abelardo Firebird e Interbase 6 10-06-2004 02:26:40


La franja horaria es GMT +2. Ahora son las 17:40:49.


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