Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-09-2006
leodelca23 leodelca23 is offline
Miembro
 
Registrado: jul 2006
Posts: 91
Poder: 18
leodelca23 Va por buen camino
Exclamation Filtro de fecha vencida

Hola a todos una pregunta tengo. Como hago para hacer un filtro con un query si se vencio o no. Tengo un campo que se llama fecha prometida, quiero saber si con la fecha que me filtre en la tabla todos lo que se han vencido o que la fecha prometida es mas vieja que la fecha que tengo en el sistema. Trabajo en delphi7 con interbase si les sirve de algo.

Muchas gracias

Saludos
Responder Con Cita
  #2  
Antiguo 19-09-2006
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 18
bitbow Va camino a la fama
Thumbs up Saludos.

Puedes hacer un select y comparar esa fecha de tu campo con la fecha actual usando la funcion Date(); para obtener la fecha.

Suerte.
Responder Con Cita
  #3  
Antiguo 19-09-2006
leodelca23 leodelca23 is offline
Miembro
 
Registrado: jul 2006
Posts: 91
Poder: 18
leodelca23 Va por buen camino
perdoname bitlow pero soy novato y no sabria como hacerlo, si me puedes ayudar gracias
Responder Con Cita
  #4  
Antiguo 19-09-2006
leodelca23 leodelca23 is offline
Miembro
 
Registrado: jul 2006
Posts: 91
Poder: 18
leodelca23 Va por buen camino
y perdoname por poner mal tu nombre es que estoy cansado no he dormido intentando hacer eso y no me sale.

Saludos y Gracias
Responder Con Cita
  #5  
Antiguo 19-09-2006
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 18
bitbow Va camino a la fama
Smile Saludos.

No problem, ya vivi esa parte, bueno pa comensar que estas usando?

TTable o TQuery?
Responder Con Cita
  #6  
Antiguo 19-09-2006
leodelca23 leodelca23 is offline
Miembro
 
Registrado: jul 2006
Posts: 91
Poder: 18
leodelca23 Va por buen camino
estoy usando tquery y quiero la consulta si se puede en sql lo del select entiendo lo que no es la comparacion de la fechas.

Muchas Gracias
Responder Con Cita
  #7  
Antiguo 19-09-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
sinceramente no entiendo por que necesariamente tiene que ser en la sentencia sql del query, supongo el programa hace algo, yo de primeras lo haria en el fromcreate para que al entar el programa revisara la fecha del query o de la tabla en otras palabras y luego la comparara con la del sistema.
Asi no modifico la sentencia sql que tal vez la necesite para otros menesteres.
Yo lo haria con un DateTimePicker y un DBEdit de donde sacar la fecha.
No se me parece lo mas logico y facil para un novato.
Saludos
Responder Con Cita
  #8  
Antiguo 19-09-2006
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 18
bitbow Va camino a la fama
Smile Un ejemplo.

SELECT * FROM TUTABLA WHERE FECHA<=10/08/2006

Asi se usa con las fechas , en paradox y todoas las demas bases que funcionan con el ODBC o BDE funciona, tambien con MySQL, InterBase/FireBird, PostGreSQL, MSSQL menos con SQLite ya lo probe y no fonuncia.
Responder Con Cita
  #9  
Antiguo 19-09-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Prueba:
Código SQL [-]
Select *
Where MiFecha > Today

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #10  
Antiguo 19-09-2006
leodelca23 leodelca23 is offline
Miembro
 
Registrado: jul 2006
Posts: 91
Poder: 18
leodelca23 Va por buen camino
Muchas Gracias, Pero como hago para poner la fecha de hoy en ves del numero gracias
Saludos
Responder Con Cita
  #11  
Antiguo 19-09-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
La función Today te devuelve la fecha del día. También tienes Now, que devuelve fecha y hora actuales.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #12  
Antiguo 19-09-2006
leodelca23 leodelca23 is offline
Miembro
 
Registrado: jul 2006
Posts: 91
Poder: 18
leodelca23 Va por buen camino
Gracias, no habia leido tu mensaje
Responder Con Cita
  #13  
Antiguo 19-09-2006
leodelca23 leodelca23 is offline
Miembro
 
Registrado: jul 2006
Posts: 91
Poder: 18
leodelca23 Va por buen camino
Hola a todos probe con today y now y me dice que columna no se encuentra que puede ser? ahi esta el codigo gracias

procedure TFTodos.BFiltrarClick(Sender: TObject);

begin
IBQInformes.Close;
IBQInformes.Sql.Clear;
if Cbvencidos.Checked=true then
IBQInformes.SQL.Add('SELECT * FROM Telas INNER JOIN Descripcion '+
'ON Telas.Descripcion1 = Descripcion.Descripcion Where'+ 'Telas.FECHA_PROMETIDA > NOW');
IBQInformes.Open;
end;
Responder Con Cita
  #14  
Antiguo 19-09-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
sigo sin entender.
ahora veo dos tablas o me parece.
telas y descripcion
el campo telas.descripcion1 es diferente a descripcion.descripcion, por que el ligue para que se necesita si el campo fecha esta en telas?
Saludos.
Responder Con Cita
  #15  
Antiguo 19-09-2006
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 18
bitbow Va camino a la fama
Debes hacelro asi

Código PHP:
procedure TFTodos.BFiltrarClick(SenderTObject);
 
 
begin
   IBQInformes
.Close;
   
IBQInformes.Sql.Clear;
   if 
Cbvencidos.Checked=true then
    begin
      IBQInformes
.SQL.Add(' SELECT * FROM Telas INNER JOIN Descripcion ');
      
IBQInformes.SQL.Add(' ON Telas.Descripcion1 = Descripcion.Descripcion ');
      
IBQInformes.SQL.Add(' Where Telas.FECHA_PROMETIDA > 'NOW);
      
IBQInformes.Open;
    
end;
 
end
Asi es como le hago yo :

Código PHP:
procedure TFTodos.BFiltrarClick(SenderTObject);
 
 
begin
   IBQInformes
.Close;
   
IBQInformes.Sql.Clear;
   if 
Cbvencidos.Checked=true then
    begin
      IBQInformes
.SQL.Add(' SELECT * FROM Telas INNER JOIN Descripcion ');
      
IBQInformes.SQL.Add(' ON Telas.Descripcion1 = Descripcion.Descripcion ');
      
IBQInformes.SQL.Add(' Where Telas.FECHA_PROMETIDA > "'DateToStr(Date) +'"');
      
IBQInformes.Open;
    
end;
 
end
Debes concatenar tu consulta con el valor de Now, la verdad no he manejado Now y no se que tipo de datos devuelva si es Date , Time o combinado de cualquier forma debes de hacer la conversion del tipo de dato que te devuelva a String , para las fechas es DateToStr.

Por ahi en google anda un manual de las funciones de conversion , no recuerdo el enlace.

Última edición por bitbow fecha: 19-09-2006 a las 20:32:49.
Responder Con Cita
  #16  
Antiguo 19-09-2006
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 18
bitbow Va camino a la fama
Smile Saludos.

Cita:
Hola
sigo sin entender.
ahora veo dos tablas o me parece.
telas y descripcion
el campo telas.descripcion1 es diferente a descripcion.descripcion, por que el ligue para que se necesita si el campo fecha esta en telas?
Saludos.
Sinceramente he trabajado con Tablas y no es por hacerles el feo pero tienen sus limitaciones y con SQL tienes mucha potencia, hay veces en que no sera necesario utilizar query y sera mas facil usar Tablas eso que ni que, pero aqui siento que es mejor con Query almenos esa es mi humilde opinion.
Responder Con Cita
  #17  
Antiguo 19-09-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Por favor corrigeme pero creo que funcionaria asi tambien:
Código Delphi [-]
procedure TFTodos.BFiltrarClick(Sender: TObject);
 
 begin
   IBQInformes.Close;
   IBQInformes.Sql.Clear;
   if Cbvencidos.Checked=true then
    begin
      IBQInformes.SQL.Add(' SELECT * FROM Telas INNER JOIN Descripcion ');
      IBQInformes.SQL.Add(' ON Telas.Descripcion1 = Descripcion.Descripcion ');
      IBQInformes.SQL.Add(' Where Telas.FECHA_PROMETIDA > "'+ DateToStr(Now) +'"');
      IBQInformes.Open;
    end;
 end;
Con relacion a lo otro totalmente de acuerdo con tigo, gracias por la acotacion.
Saludos
Responder Con Cita
  #18  
Antiguo 19-09-2006
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 18
bitbow Va camino a la fama
Smile Como decia.

No he tenido la oportunidad/necesidad de usar Now, Today de echo no se nada pero ahorita me documento , cada dia de aprenden algo nuevo.

Saludos.
Responder Con Cita
  #19  
Antiguo 19-09-2006
leodelca23 leodelca23 is offline
Miembro
 
Registrado: jul 2006
Posts: 91
Poder: 18
leodelca23 Va por buen camino
bueno gracias a todos

Ahi funciono. Realmente son unos maestros todos. Se les agradece por todo realmente hay que tener paciencia para aguantar preguntas de alguien como yo. Le agradezco en el nobmre de todos los usuarios del club delphi ya que sin gente como ustedes nosotros nos suicidariamos. Muchas Gracias

Saludos
Responder Con Cita
  #20  
Antiguo 20-09-2006
leodelca23 leodelca23 is offline
Miembro
 
Registrado: jul 2006
Posts: 91
Poder: 18
leodelca23 Va por buen camino
No se que paso

Perdonen pero no se que paso pero no me funciona ahora no se que habre hecho le voy a pasar las tablas para ver si hay algun error estas son las tablas
Código PHP:
CREATE TABLE TELAS (
  
CLIENTE VARCHAR(30NOT NULL,
  
PO VARCHAR(20NOT NULL,
  
FECHA_EMISION TIMESTAMP NOT NULL,
  
DESCRIPCION1 VARCHAR(55NOT NULL,
  
DESCRIPCION2 VARCHAR(55NOT NULL,
  
CANTIDADES_PEDIDAS INTEGER NOT NULL,
  
CANTIDADES_HECHAS INTEGER NOT NULL,
  
CANTIDADES_FALTANTES INTEGER NOT NULL,
  
FECHA_PROMETIDA TIMESTAMP NOT NULL
);CREATE TABLE DESCRIPCION (
  
DESCRIPCION VARCHAR(50),
  
ESTILO VARCHAR(25),
  
COLOR1 VARCHAR(25),
  
COLOR2 VARCHAR(25),
  
COLOR3 VARCHAR(25),
  
COLOR4 VARCHAR(25),
  
COLOR5 VARCHAR(25),
  
FOLDLINE VARCHAR(25)

no se cuando le cambio la fechas de timestamp a date me da error , si me pueden ayudar haciendo la comparacion con el timestamp realmente la hora no la hora no me interesa.

Saludos
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
Busqueda segun el mes de una fecha(no la fecha completa) federiconqn21 Firebird e Interbase 1 05-05-2006 15:39:53
Comparar una fecha de n campo date contra fecha actual amadis SQL 2 27-06-2005 21:37:41
Filtro manu Conexión con bases de datos 2 19-11-2003 15:36:57
Filtro y EOF javiermorales Conexión con bases de datos 2 07-10-2003 15:28:08
Dias entre una fecha y la fecha del sistema afarenas Firebird e Interbase 1 30-09-2003 17:36:53


La franja horaria es GMT +2. Ahora son las 10:47:25.


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