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 16-06-2004
Mashabak Mashabak is offline
Registrado
 
Registrado: jun 2004
Posts: 8
Poder: 0
Mashabak Va por buen camino
Consultas por fecha en access

Hola, este es mi primer mensaje en el foro, aunque intentare ser claro en la explicacion.
Lo primero es decir que he repasado los posts con problemas similares al mio en el foro y con las soluciones planteadas no he conseguido resolver mi problema.
Mi caso es el siguiente: Tengo un base de datos access a cuyos datos accedo mediante TQuery y TDataSource. Todo me funciona correctamente excepto las busquedas por fecha.
El caso concreto es el siguiente: en cierto formulario tengo una funcion para realizar busquedas de facturas por fecha, la cual muestra un pequeño TDBGrid con las fechas de todas las facturas. El caso es que yo quiero que, cuando se seleccione una de esas fechas, la consulta solamente muestre las facturas que tienen esa fecha. El campo fecha de la tabla de facturas es de tipo Fecha corta.
Para realizar la consulta uso el siguiente codigo:
Código:
 
facturas.Queryfacturas.Active:=false;
facturas.queryfacturas.SQL.Clear;
facturas.queryfacturas.SQL.Add('Select * from facturas_venta where facturas_venta.fecha=' + 
vartostr(grid.Fields[0].Value));
facturas.queryfacturas.Active:=true;
facturas.queryclientefactura.Active:=false;
facturas.queryclientefactura.SQl.Clear;
facturas.queryclientefactura.SQL.Add('Select * from clientes where clientes.numero=' + 
facturas.dbedit10.edittext);
facturas.queryclientefactura.Active:=true;
En este codigo, grid es el TDBGrid que contiene el listado de fechas, queryfacturas es el Tquery donde quiero que aparezcan las facturas de esa fecha y queryclientefactura es una consulta para relacionar la factura con los datos del cliente.
Pues bien, realizando esa funcion, sintacticamente no me da ningun problema, pero no devuelve ningun registro, cuando realmente si lo hay.

He probado a entecomillar la fecha, usar # para la consulta, usar funciones de formato de fecha, etc etc y no consigo que me funcione.
Sin embargo, esa misma consulta sustituyendo el parametro por una fecha real entre # si funciona dentro de la base de datos access, pero si uso las # dentro de delphi, me salta el error "Invalid use of keyword. Token facturas_venta.fecha="

Si a alguien se le ocurre donde puede estar el fallo estaria muy agradecido.

Un saludo.

Última edición por Mashabak fecha: 16-06-2004 a las 13:12:06.
Responder Con Cita
  #2  
Antiguo 16-06-2004
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Te paso un ejemplo de una query que tengo por ahi.
La única diferencia es que uso ADOquery's.
Atento al formato de la fecha, que es mm/dd/yy, por lo que tenfrás qeu hacer un formatdate('mm/dd/yy', fecha).

Código:
SELECT *FROM Pedidos
WHERE Pedidos.Estado='Entregado'
and Pedidos.Fecha >= #01/01/04# and Pedidos.Fecha<= #12/31/04#
ORDER BY 
NumeroPed
Espero que te sirva de ayuda.

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #3  
Antiguo 16-06-2004
Mashabak Mashabak is offline
Registrado
 
Registrado: jun 2004
Posts: 8
Poder: 0
Mashabak Va por buen camino
Pues si, con el ADOquery si funciona tu metodo, sin embargo con un TQuery normal no he conseguido que funcione. De todos modos ya he conseguido arreglarlo usando un ADOQuery, aunque me gustaria saber si existe alguna forma de hacerlo con el TQuery.

Gracias por la ayuda, campeon, y un saludo.
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 03:17:39.


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