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 14-03-2008
janexa janexa is offline
Miembro
 
Registrado: ago 2006
Posts: 28
Poder: 0
janexa Va por buen camino
Question Comparar fechas en Access

hola tengo una aplicacion hecha en delphi 7 y uso una BDatos en ACcEss 2003 estoy haciendo una consulta Código Delphi [-]
datamodule1.QC.Close;
datamodule1.QC.SQL.Clear;
datamodule1.QC.SQL.Add('select a.*,c.nombre as Nombre_Articulo, a2.compra_lts ');
datamodule1.QC.SQL.Add('from doctos_compras a, partidas_compras a2, articulos c ');
datamodule1.QC.SQL.Add('where a.folio_compra=a2.folio_compra and a2.cve_art=c.idarticulo and and a.fecha>=aram1 and
a.fecha<dateadd(dd,1,aram1)');
datamodule1.QC.SQL.Add('order by fecha');
datamodule1.QC.ParamByName('param1').AsDatetime:=Picker1.Datetime;
datamodule1.QC.ExecSQL;





Me marca un error del Access que le falta parametros!!!!!!
HElp Me PLease
__________________


~~JÅn€xå~~
Responder Con Cita
  #2  
Antiguo 14-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No lo entiendo bien, pero por lo menos hay un error:
Código Delphi [-]
datamodule1.QC.Close;
datamodule1.QC.SQL.Clear;
datamodule1.QC.SQL.Add('select a.*,c.nombre as Nombre_Articulo, a2.compra_lts ');
datamodule1.QC.SQL.Add('from doctos_compras a, partidas_compras a2, articulos c ');
datamodule1.QC.SQL.Add('where a.folio_compra=a2.folio_compra and a2.cve_art=c.idarticulo and and a.fecha >= Param1 and
a.fecha <  dateadd(dd,1, Param1)');
datamodule1.QC.SQL.Add('order by fecha');
datamodule1.QC.ParamByName('Param1').AsDatetime:=Picker1.Datetime;
datamodule1.QC.ExecSQL;
Saludos
Responder Con Cita
  #3  
Antiguo 14-03-2008
janexa janexa is offline
Miembro
 
Registrado: ago 2006
Posts: 28
Poder: 0
janexa Va por buen camino
Question Asi:

Ke no entiendes???
__________________


~~JÅn€xå~~

Última edición por janexa fecha: 14-03-2008 a las 21:57:12.
Responder Con Cita
  #4  
Antiguo 14-03-2008
janexa janexa is offline
Miembro
 
Registrado: ago 2006
Posts: 28
Poder: 0
janexa Va por buen camino
Question Asi:

Código Delphi [-]
datamodule1.QC.Close;
datamodule1.QC.SQL.Clear;
datamodule1.QC.SQL.Add('select a.*,c.nombre as Nombre_Articulo, a2.compra_lts ');
datamodule1.QC.SQL.Add('from doctos_compras a, partidas_compras a2, articulos c ');
datamodule1.QC.SQL.Add('where a.folio_compra=a2.folio_compra and ');
datamodule1.QC.SQL.Add('a2.cve_art=c.idarticulo and and a.fecha>=:Xfecha ');
datamodule1.QC.SQL.Add(' and (a.fecha);
datamodule1.QC.SQL.Add('order by fecha ');
datamodule1.QC.ParamByName('Xfecha').AsDatetime:=Picker1.Datetime;
datamodule1.QC.ExecSQL;
__________________


~~JÅn€xå~~

Última edición por janexa fecha: 14-03-2008 a las 21:59:05.
Responder Con Cita
  #5  
Antiguo 14-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Pregunto:
Con que componente enlazas con access?
Bde , ado , etc.
Saludos
Responder Con Cita
  #6  
Antiguo 15-03-2008
janexa janexa is offline
Miembro
 
Registrado: ago 2006
Posts: 28
Poder: 0
janexa Va por buen camino
uso BDE y quiero que el resultado de la consulta en un quickreport o dbgrig no se si sea la sintaxis para mandar la fecha en access
Código Delphi [-]
procedure TExistencias.GenerarClick(Sender: TObject);
var fecha,fecha2:variant;
begin
fecha:=picker1.DateTime;
datamodule1.QC.Close;
datamodule1.QC.SQL.Clear;
datamodule1.QC.SQL.Add('select a.*,c.nombre as Nombre_Articulo, a2.compra_lts ');
datamodule1.QC.SQL.Add('from doctos_compras a, partidas_compras a2, articulos c ');
datamodule1.QC.SQL.Add('where a.folio_compra=a2.folio_compra and a2.cve_art=c.idarticulo and a.fecha=:valor and a.fecha); ---->NO SE SI MANEJE ESO EN ACCESS
datamodule1.QC.ParamByName('valor').Value:=fecha;  datamodule1.QC.ExecSQL;
suiDBGrid2.DataSource:=datamodule1.JD2;
end;
__________________


~~JÅn€xå~~
Responder Con Cita
  #7  
Antiguo 15-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No se que pretendes hacer, la verdad sigo sin entender.
Para empezar te aconsejo que cambies de bde a ado.
Veamos, se supone que estas haciendo una comparacion de fechas, el campo debe ser, supongo de tipo datetime en la tabla.
Entonces podriamos colocar dos datetimepicker en el form y hacer esto:
Con bde:
Código Delphi [-]
datamodule1.QC.Close;
datamodule1.QC.SQL.Clear;
datamodule1.QC.SQL.Add('select a.*,c.nombre as Nombre_Articulo, a2.compra_lts ');
datamodule1.QC.SQL.Add('from doctos_compras a, partidas_compras a2, articulos c ');
datamodule1.QC.SQL.Add('where a.folio_compra = a2.folio_compra and a2.cve_art = c.idarticulo and and a.fecha >= :Fecha1 and
a.fecha <=  :Fecha2');
datamodule1.QC.SQL.Add('order by fecha');
datamodule1.QC.ParamByName('Fecha1').Value:=Picker1.Datetime;
datamodule1.QC.ParamByName('Fecha2').Value:=Picker2.Datetime;
datamodule1.QC.Open;
Con ado:
Código Delphi [-]
datamodule1.QC.Parameters.ParamByName('Fecha1').Value:=Picker1.Datetime;
datamodule1.QC.Parameters.ParamByName('Fecha2').Value:=Picker2.Datetime;
o con cualquiera:
Código Delphi [-]
datamodule1.QC.Parameters[0].Value:=Picker1.Datetime;
datamodule1.QC.Parameters[1].Value:=Picker2.Datetime;
Saludos
Responder Con Cita
  #8  
Antiguo 18-03-2008
janexa janexa is offline
Miembro
 
Registrado: ago 2006
Posts: 28
Poder: 0
janexa Va por buen camino
Question no funciona

hola graxs por la respuesta pero aun asi puse ese codigo y no funciona, solo quiero que cuando el usuario escoga la misma fecha en fecha1 y fecha2 muestre solo la de ese dia ya ke si uso el between NO sale nada en el reporte ni en el dbgrid.
Código Delphi [-]
 
datamodule1.QC.Close;
datamodule1.QC.SQL.Clear;
datamodule1.QC.SQL.Add('select a.*,c.nombre as Nombre_Articulo, a2.compra_lts ');
datamodule1.QC.SQL.Add('from doctos_compras a, partidas_compras a2, articulos c ');
datamodule1.QC.SQL.Add('where a.folio_compra=a2.folio_compra and a2.cve_art=c.idarticulo and a.fecha between aram1 and aram2');
datamodule1.QC.ParamByName('param1').Value:=fecha;
datamodule1.QC.ParamByName('param2').Value:=fecha2;
 datamodule1.QC.open;
__________________


~~JÅn€xå~~

Última edición por janexa fecha: 18-03-2008 a las 21:57:38.
Responder Con Cita
  #9  
Antiguo 23-05-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Tuve cierto problema con BDE y Access y un driver concreto, segun el formato de las fechas ... me parseaba el sql pero no funcionaba a veces. Dejo mi solución por si alguien tiene ese problema otra vez.

Código Delphi [-]
fmt := '"#"mm"/"dd"/"yyyy"#"';
cadena_a_incluir_en_sql := FormatDateTime(fmt, strtodate(date))
Responder Con Cita
  #10  
Antiguo 22-04-2009
juriberuiz juriberuiz is offline
Registrado
 
Registrado: feb 2009
Posts: 2
Poder: 0
juriberuiz Va por buen camino
Carnal, gracias, lo que pusiste en el post 4281 me funciono, gracias

Código Delphi [-]
        MdlDatos.QPedidos.SQL.Clear;
        MdlDatos.QPedidos.SQL.Add('select * from pedidos');
        MdlDatos.QPedidos.SQL.Add('where fechapedido>=:fecha1 and fechapedido<=:fecha2');
        MdlDatos.QPedidos.Parameters.ParamByName('fecha1').Value:=DateTimePicker1.DateTime;
        MdlDatos.QPedidos.Parameters.ParamByName('fecha2').Value:=DateTimePicker2.DateTime;

        if RadioGroup1.ItemIndex = 0 then
        begin
                MdlDatos.QPedidos.SQL.Add('and status=''Pendiente''');
        end
        else if RadioGroup1.ItemIndex = 1 then
        begin
                MdlDatos.QPedidos.SQL.Add('and status=''Entregado''');
        end;
        MdlDatos.QPedidos.Active:=True;
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
slq entre dos fechas comparar fechas taru MySQL 2 30-07-2007 16:10:36
Comparar fechas creus Varios 3 19-03-2007 14:27:14
Comparar dos fechas efelix Conexión con bases de datos 1 14-10-2006 15:30:32
Como comparar un rango de fechas Ricsato SQL 4 14-09-2004 16:41:25
Comparar Fechas robero espinoza SQL 1 04-07-2003 03:04:48


La franja horaria es GMT +2. Ahora son las 15:51:58.


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