Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

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
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
  #2  
Antiguo 27-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
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
  #3  
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
  #4  
Antiguo 27-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
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
  #5  
Antiguo 27-02-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
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
  #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

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
  #7  
Antiguo 27-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
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
  #8  
Antiguo 27-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Cita:
Empezado por javimax182 Ver Mensaje
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
Desde donde yo lo veo, eso no es necesario, solo necesitas saber que mes es el que estas buscando, obviamente no tendrás mas ventas que del día actual, sin embargo , hay algo que falta en el código que te puse ya que te pudiera dar datos incorrectos, te lo dejo de tarea, es lo correcto, no?

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #9  
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
Exclamation

Gracias a todos por el apoyo que me estan dando. Pero ahora tengo dos errores


En el filtrado por por las ventas del dia actual, me salta este error Type mismatch in expresion
Este es el codigo que le puse:

Cita:
With QVentas do begin
Close;
sql.clear;
sql.add('select * from ResumenVentas where FechaCompra like :fecha');
parambyname('fecha').asdate:= date;
execsql;
Open;
end;

En el de las ventas del mes me salta este error invalid argument to date encode
Este es el codigo que le puse:

Cita:
DecodeDate(Now, AYear, AMonth, ADay);
FechaInicial := EncodeDate(AYear, AMonth, 1);
FechaFinal := EncodeDate(AYear, AMonth, 31);
With QVentas do begin
Close;
SQL.Clear;
sql.add('select * from ResumenVentas where FechaCompra between :fechainicio and :fechafin');
parambyname('fechainicio').asdate:= FechaInicial; //Primer dia del mes
parambyname('fechafin').asdate:= FechaFinal; //Final del mes
execsql;
Open;
end;
Yo no les exijo nada, solo les estoy pidiendo ayuda. Les agradesco por todo lo que me ayudaron hasta ahora. Si me pueden seguir ayudando, mejor.
Responder Con Cita
  #10  
Antiguo 27-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Cita:
Empezado por javimax182 Ver Mensaje
Gracias a todos por el apoyo que me estan dando. Pero ahora tengo dos errores

En el filtrado por por las ventas del dia actual, me salta este error [b]Type mismatch in expresion

En el de las ventas del mes me salta este error [b]invalid argument to date encode

Yo no les exijo nada, solo les estoy pidiendo ayuda. Les agradesco por todo lo que me ayudaron hasta ahora. Si me pueden seguir ayudando, mejor.
Ya viste la solución que te puse.......

Vaya,

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
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

si vi tu solucin pero tu solucion solo se pregunta por el mes
y tambien mostraria el mes de los años anteriores, yo solo quiero el del mes en progreso.
Gracias
Responder Con Cita
  #12  
Antiguo 27-02-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Hola...

Además, no es solo copiar y pegar... documentate bien antes de usar una función o procedimiento que no conozcas... Lee en la ayuda como usar EncodeDate y DecodeDate...

El código que puse lo escribí sin probarlo y por consiguiente puede que haya tenido algún error...



Saludos...
Responder Con Cita
  #13  
Antiguo 27-02-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
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
  #14  
Antiguo 05-03-2008
Avatar de paladincubano
paladincubano paladincubano is offline
Miembro
 
Registrado: jul 2007
Posts: 147
Poder: 19
paladincubano Va por buen camino
Prueba esto, a mi me funciona de maravillas.
Delphi2007 y SQLExpress2005

Código Delphi [-]
S1 := '01/01/2008';
S2 := '09/10/2010';

Tabla.SQL.Clear;
Tabla.SQL.Add('Select * From Tabla');
Tabla.SQL.Add('WHERE Fecha BETWEEN '+QuotedStr(S1)+' AND '+QuotedStr(S2));
Tabla.Open;
Responder Con Cita
  #15  
Antiguo 23-03-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 19
lKinGl Va por buen camino
jajaja de verdad no se como haces para no entender el tutorial no era para mi y lo logré hacer de 1 sola vez sin fallar y soy novato en delphi bueno suerte ojala lo logres de verdad no se ve forma de mejorar el coódigo facilitado xD
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 16:48:45.


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