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 27-02-2008
javimax182 javimax182 is offline
No confirmado
 
Registrado: feb 2008
Ubicación: Buenos Aires, Argentina
Posts: 20
Poder: 0
javimax182 Va por buen camino
Unhappy Fitrar por fecha actual

Hola mi nombre es javier, estoy trabajando con un query en delphi 7.
Lo que yo quiero es Filtrar por las ventas que se realizaron en el dia, ya que la tabla posee un campo llamado "Fecha de Compra". Despues lo que quisiera es filtrar las ventas en el ultimo mes, entre otras...
Les ruego que me ayuden, porque lo necesito inmediatamente. No encontre un hilo que me lo pudiera responder, si alguien sabe de un que me avise. Gracias.
Responder Con Cita
  #2  
Antiguo 27-02-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola javimax182
Bienvenido al club.
Es dificil dar una opinion sin suficientes datos.
Delphi 7. Bien
Base de datos ????
Componentes con que enlazas la tabla ???
Otros datos que puedas aportar
Saludos
Responder Con Cita
  #3  
Antiguo 27-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola javimax182,
Bienvenido a clubdelphi. Como recién ingresas te informo sobre la guia de estilo, recomiendo su lectura.

Con respecto a tu problema, hay muchos hilos sobre el tema. Lo puedes hacer con Filter,con una SQL...

Sería bueno que nos aportes más detalles:
¿Que motor usas?
¿Que componentes usas?
¿Puedes mostrarnos un poco de como estás trabajando?

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #4  
Antiguo 27-02-2008
javimax182 javimax182 is offline
No confirmado
 
Registrado: feb 2008
Ubicación: Buenos Aires, Argentina
Posts: 20
Poder: 0
javimax182 Va por buen camino
Question

Utizo una tabla Paradox 7, un dbgrid, un datasoure, un query y un combobox en donde yo selecciono el periodo de tiempo que yo quisiera que filtre (Todos, Hoy, ultimos 10 dias, Ultimos 30 dias y Este mes).
Pero no se como hacer ese tipo de filtrado.
Por favor ayudenme. Gracias.
Responder Con Cita
  #5  
Antiguo 27-02-2008
juanpe juanpe is offline
Miembro
 
Registrado: oct 2004
Posts: 46
Poder: 0
juanpe Va por buen camino
query.sql.clear;
query.sql.add('select * from Ventas where fecha_ventas between :fechainicio and :fechafin');
query.parambyname('fechainicio').asdate:= date-15; //la fecha de hace 15 dias
query.parambyname('fechafin').asdate:= date; //la fecha de hoy
query.execsql;

Espero que te valga.
Responder Con Cita
  #6  
Antiguo 27-02-2008
javimax182 javimax182 is offline
No confirmado
 
Registrado: feb 2008
Ubicación: Buenos Aires, Argentina
Posts: 20
Poder: 0
javimax182 Va por buen camino
Question

Gracias por eso pero, como es para filtrar por las ventas que se hicieron en el dia. y como es para filtrar las ventas que se hicieron en el mes actual, por ejemplo:Febrero.
Responder Con Cita
  #7  
Antiguo 27-02-2008
juanpe juanpe is offline
Miembro
 
Registrado: oct 2004
Posts: 46
Poder: 0
juanpe Va por buen camino
Del dia, por ejemplo

query.sql.clear;
query.sql.add('select * from Ventas where fecha_ventas like :fecha);
query.parambyname('fecha').asdate:= date;
query.execsql;

De febrero

query.sql.clear;
query.sql.add('select * from Ventas where fecha_ventas between :fechainicio and :fechafin');
query.parambyname('fechainicio').asstring := '1/02/2008';
query.parambyname('fechafin').asstring := '29/02/2008';
query.execsql;

Creo que ambas fechas son incluidas en los resultados.
Responder Con Cita
  #8  
Antiguo 27-02-2008
javimax182 javimax182 is offline
No confirmado
 
Registrado: feb 2008
Ubicación: Buenos Aires, Argentina
Posts: 20
Poder: 0
javimax182 Va por buen camino
Question

si pero que no se tenga que depender de 1/02/2008...etc
Sino que funcione para todos los meses y no tenga que andar modificando el codigo. Gracias
Responder Con Cita
  #9  
Antiguo 27-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por javimax182 Ver Mensaje
si pero que no se tenga que depender de 1/02/2008...etc
Sino que funcione para todos los meses y no tenga que andar modificando el codigo. Gracias
Explicate mejor javimax182. ¿Tu lo que quieres es pasar en modo de ejecución el rango de fechas?

Nada te impide hacer cosas así:

Código Delphi [-]
Query1.ParamByName('tu_parametro').asString := Edit1.Text;

Es un ejemplo, deberías adaptarlo al tipo de datos que reciba. Pero creo que se entiende la idea. Si tienes dudas avisa.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #10  
Antiguo 27-02-2008
javimax182 javimax182 is offline
No confirmado
 
Registrado: feb 2008
Ubicación: Buenos Aires, Argentina
Posts: 20
Poder: 0
javimax182 Va por buen camino
Question

No, me entendieron mal, lo que yo quiero es que filtre por las ventas que se hicieron en el mes actual.
Por ejemplo: si hoy seria 7 de mayo. Me tendria que filtrar todas las ventas que se hicieron del 1 de mayo hasta el 7 de mayo.
Sabes como?. Gracias
Responder Con Cita
  #11  
Antiguo 27-02-2008
javimax182 javimax182 is offline
No confirmado
 
Registrado: feb 2008
Ubicación: Buenos Aires, Argentina
Posts: 20
Poder: 0
javimax182 Va por buen camino
Question

HELP ME, PLEASE.
ME FALTA SOLA ESE FILTRADO. POR FAVOR AYUDENME. El filtrado de las ventas del mes actual.
Responder Con Cita
  #12  
Antiguo 27-02-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Por que no usas dos datetimepicker en los que pondras la fecha 1 y la dos, ose el rango de fechas, asi tendras solucionado esto.
Saludos
Responder Con Cita
  #13  
Antiguo 27-02-2008
javimax182 javimax182 is offline
No confirmado
 
Registrado: feb 2008
Ubicación: Buenos Aires, Argentina
Posts: 20
Poder: 0
javimax182 Va por buen camino
Question

No pero yo quiero que filtre eso automaticamente sin tener que seleccionar nada. No sabrias como?

Yo habia encontrado una funcion como esta:
Cita:
if combobox2.ItemIndex = 4 then begin
With QVentas do begin
Close;
SQL.Clear;
SQL.Add ('SELECT * FROM ResumenVentas where FechaCompra Between to_date("01/"¦¦to_char(' +(hoy)+',MM/YY),"DD/MM/YY"');
Open;
end; end;
pero no me anda en delphi. me salta error.
Me podrian ayudar?
Responder Con Cita
  #14  
Antiguo 27-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por javimax182 Ver Mensaje
No pero yo quiero que filtre eso automaticamente sin tener que seleccionar nada. No sabrias como?
Podrías aclarar esto que dices, si no seleccionas algo como puedes filtrar....

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #15  
Antiguo 27-02-2008
javimax182 javimax182 is offline
No confirmado
 
Registrado: feb 2008
Ubicación: Buenos Aires, Argentina
Posts: 20
Poder: 0
javimax182 Va por buen camino
Question

Lo que yo quiero es que filtre por las ventas que se hicieron en el mes actual.
Por ejemplo: si hoy seria 7 de mayo. Me tendria que filtrar todas las ventas que se hicieron del 1 de mayo hasta el 7 de mayo.

Pero que aga todo eso sin que el usuario tenga que ingresar nada ni seleccionar nada.
Sabes como?. Gracias
Responder Con Cita
  #16  
Antiguo 27-02-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Todos los que te han contestado saben como filtrar fechas, no creo que sea nada complicado, lo dificil esta en entender el concepto de lo que necesitas.
Dices que si hoy es 7 que filtre del 1 al 7, vale, primero lo que hay que hacer es decirle al programa que hoy es 7, no te parece?, y despues decirle que filtre desde el primer dia del mes.
Automaticamente me suena un poco complicado, tal vez con dos edit uno con la fecha actual y otro que calcule la resta de esa menos el total del mes, uhhi, tarea de maestro.
No se, prefiero mi opción.
Saludos
Responder Con Cita
  #17  
Antiguo 27-02-2008
javimax182 javimax182 is offline
No confirmado
 
Registrado: feb 2008
Ubicación: Buenos Aires, Argentina
Posts: 20
Poder: 0
javimax182 Va por buen camino
Question

ok masa o menos te entiendo... pero mas o menos como se cuando es el primer dia del mes?
Les agradeceria si me pudieran mostrar como. Gracias
Responder Con Cita
  #18  
Antiguo 27-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por javimax182 Ver Mensaje
Lo que yo quiero es que filtre por las ventas que se hicieron en el mes actual.
Por ejemplo: si hoy seria 7 de mayo. Me tendria que filtrar todas las ventas que se hicieron del 1 de mayo hasta el 7 de mayo.

Pero que aga todo eso sin que el usuario tenga que ingresar nada ni seleccionar nada.
Sabes como?. Gracias
Ya, ahora entiendo, puedes hacer esto

Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  Year, Month, Day, Hour, Min, Sec, MSec: Word;
begin
  Query1.Close;
  DecodeDate(Now, Year, Month, Day);
  Query.sql.clear;
  Query.sql.add('select * from Ventas where EXTRACT(MONTH FROM fecha_ventas) = :mes');
  Query1.ParamByName('mes').AsInteger := Month;
  Query1.Open;
end;

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #19  
Antiguo 27-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
javimax182, por más iniciado que seas no puedo dejar de pasar de alto muchas cosas:
1. Aqui nadie viene a pedir cosas por urgencias.
2. No estamos en la obligación de responderte, aqui el que ayuda lo hace de forma desinteresada y cuando tiene el tiempo. Esto está abierto las 24 hrs pero eso no quiere decir que tengamos la obligación de estar presente y auxiliarte cuando desees.
3. Existen variados hilos en donde este tema se ha tratado, yo diría que todos los días aparece por lo menos 2 o 3 hilos sobre esto... existe un buscador y te sugiero que lo uses.
4. Si te explicases mejor no estaríamos adivinando.

Espero que comprendas que aquí, se pide el respeto a la guia de estilo.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #20  
Antiguo 27-02-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Para hacer lo que quieres solo te basta saber cual es la fecha actual, lo cual logras con la función Now o Date...

Teniendo la fecha actual ya sabes cual es el mes correspondiente, con ese dato ya puedes hacer tu consulta o el filtro de tu tabla:

Código Delphi [-]
var
  ADay, AMonth, AYear: Word;
  FechaInicial, FechaFinal: TDateTime;

begin
  DecodeDate(Now, AYear, AMonth, ADay);
  FechaInicial := EncodeDate(AYear, AMonth, 1);
  FechaFinal := EncodeDate(AYear, AMonth, 31); // Aquí podrías verificar cual es el 
  // máximo de días de el mes especificado para evitar errores de fecha inválida
  TablaVentas.Filter := 'Fecha >= ' + DateToStr(FechaInicial) + ' and Fecha <= ' + DateToStr(FechaFinal);
  TablaVentas.Filtered := True
end;

Espero que este código te de una idea de como lograr lo que deseas...



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
fecha actual en interbase lledesma Firebird e Interbase 3 28-05-2006 23:34:20
Inserta fecha actual zvf OOP 4 06-04-2006 01:23:16
Fecha Actual en DateTimePicker Barzaugc Varios 1 15-11-2005 17:29:20
Comparar una fecha de n campo date contra fecha actual amadis SQL 2 27-06-2005 21:37:41
Datetime con fecha actual Luis Castillo Varios 1 08-07-2003 00:34:37


La franja horaria es GMT +2. Ahora son las 19:17:30.


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