Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-09-2003
anitra_cattivo anitra_cattivo is offline
Miembro
 
Registrado: ago 2003
Ubicación: Peru
Posts: 30
Poder: 0
anitra_cattivo Va por buen camino
Question Problema con Query y Fechas

Tengo el siguiente problema

Primero detallo algo de las tablas involucradas:

Tengo dos tablas.
Clientes.dbf y movim.dbf

En movim.dbf hay campos como:
Cod:_cli
Cod_doc
Fecha y otros.

Lo que trato de hacer es una consulta SQL para luego pasarla al QuickReport
En movimientos esta lo que necesito reportar de Facturas Emitidas

La Consulta que hago desde Delphi es la siguiente:

...
{ PREPARAMOS LOS QUERYS ANTES DE LANZAR AL REPORTADOR }
{ preparando Query con Clientes ... }
dm.Q_CLIENTES.Close;
dm.Q_CLIENTES.Prepare;
dm.Q_CLIENTES.SQL.Clear;
{ *** }
dm.Q_CLIENTES.SQL.Add('select distinct c.codigo, c.nombre from clientes c, movim m where c.codigo=m.cod_cli and m.fecha<=FechaFin and m.fecha>=FechaIni');
{ *** }
dm.Q_CLIENTES.ParamByName('pFechaIni').AsDate:=DateTimePicker1.Date;
dm.Q_CLIENTES.ParamByName('pFechaFin').AsDate:=DateTimePicker2.Date;
{ *** }
...

La idea de la consulta es dejar solo los clientes (clientes.dbf) que tienen movimiento (movim.dbf) (se les facturo) en un rango de fechas.

Cuando genero el Reporte, no me sale la hoja en blanco. En el rango del 01/01/2003 al 07/01/2003 (dd/mm/aaaa).

En el DataBase DeskTop aplico la consulta e igualmente. Al revisar me percate que en el DataBase D. Debía poner la fecha en formato mm/dd/aaaa
Al cambiarlo SALIO! Lo que deseo ver. Pero ahora en Delphi era mi problema
Al poner el valor de fachas como constantes en formato mm/dd/aaaa en Delphi (en lugar de los parámetros pFechaIni y pFechaFin) el reporte también salió. Pero no debe ser constante obviamente.

Como ven, uso parámetros pFechaIni y pFechaFin que se cargan con los datos de los DateTimePicker y cuando digitan la información (parametrizan el reporte que desean ver) lo hacen en dd/mm/aaaa.

Necesito hacer que la consulta me tome la fecha en formato dd/mm/aaaa

Muchas Gracias
Responder Con Cita
  #2  
Antiguo 03-09-2003
mosorio mosorio is offline
Miembro
 
Registrado: may 2003
Posts: 159
Poder: 22
mosorio Va por buen camino
Hola!
Con respecto a la consulta, si la esta construyendo mediante código, creo que seria más optimo hacerla de esta forma:
Cita:
Creas una Constante Ej: SQL y asignas la senttencia asi:

const
SQL = 'select distinct c.codigo, c.nombre from clientes c, movim m where c.codigo=m.cod_cli and m.fecha<= %s and m.fecha>= %s';

Y al asignarla en el Q_CLIENTES

dm.Q_CLIENTES.SQL.Add(Format(SQL, [QuotedStr(FechaIni), QuotedStr(FechaFin)]));
Asi le pasas la sentencia completa incluyendo los rangos antes de ejecutarla.

Esta es la forma como hago para ejecutar QRY desde código si llevan parámetros y con un componente QRY general.

Espero te ayude en algo
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


La franja horaria es GMT +2. Ahora son las 00:54:32.


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