Club Delphi  
    Paypal   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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-03-2007
Nelet Nelet is offline
Miembro
 
Registrado: may 2003
Ubicación: Picassent - Valencia
Posts: 95
Poder: 24
Nelet Va por buen camino
Cita:
Empezado por Onti
No deberia poner el mes?
(ademas asumimos todas la fechas están el mismo año)
Pues si....pero acabo de comer y llevo una torta monumental. Mea culpa.

Cita:
Empezado por Sr.Escorpion
Ya eso lo habia probado con anterioridad y no funciona... no obstante estoy usando un ADOTable, no un ADOQuery
Bueno...con el ADOTable es igual, incluso tiene más sentido usar el Filter. Pero, ¿por que no te funciona?. ¿Te da algún error?. Quzá dependa del tipo de BD.
__________________
_____________________________________
And follow me to where the real fun is

Última edición por Nelet fecha: 20-03-2007 a las 16:35:04.
Responder Con Cita
  #2  
Antiguo 20-03-2007
Avatar de Sr.Scorpion
Sr.Scorpion Sr.Scorpion is offline
Miembro
 
Registrado: mar 2005
Posts: 92
Poder: 22
Sr.Scorpion Va por buen camino
Cita:
Empezado por Nelet
Pues si....pero acabo de comer y llevo una torta monumental. Mea culpa.


Bueno...con el ADOTable es igual, incluso tiene más sentido usar el Filter. Pero, ¿por que no te funciona?. ¿Te da algún error?. Quzá dependa del tipo de BD.
El error que me da dice... Argumentos incorrectos. Fuera del Intervalo permitido o en conflicto con otros...

Código Delphi [-]
ADOTable.Filtered:= False;
ADOTable.Filter:= 'Month(FCompra)= '+ '03';
ADOTable.Filtered:= True;

FCompra es el campo guardado en una BD de Access con el formato de fecha corta Ejemplo: 31/01/2007

Si ya tu hicistes la prueba por favor enviame el codigo.... por lo menos el que me pusistes arriba es un ADOQuery no un ADOTable
__________________
La paciencia es un árbol de raíz amarga pero de frutos muy dulces.

Sr.Scorpion
Responder Con Cita
  #3  
Antiguo 20-03-2007
Nelet Nelet is offline
Miembro
 
Registrado: may 2003
Ubicación: Picassent - Valencia
Posts: 95
Poder: 24
Nelet Va por buen camino
Código Delphi [-]
ADOTable.Filtered:= False;
ADOTable.Filter:= 'Month(FCompra)= '+ '03';
ADOTable.Filtered:= True;
ese
Código Delphi [-]
+'03';
no me gusta nada.

Prueba así:

Código Delphi [-]
ADOTable.Filtered:= False;
ADOTable.Filter:= 'Month(FCompra)=3';
ADOTable.Filtered:= True;
El mes es de tipo numérico y tu le estás pasando un string.
__________________
_____________________________________
And follow me to where the real fun is

Última edición por Nelet fecha: 20-03-2007 a las 17:02:37.
Responder Con Cita
  #4  
Antiguo 20-03-2007
Avatar de Sr.Scorpion
Sr.Scorpion Sr.Scorpion is offline
Miembro
 
Registrado: mar 2005
Posts: 92
Poder: 22
Sr.Scorpion Va por buen camino
Cita:
Empezado por Nelet
Código Delphi [-]ADOTable.Filtered:= False; ADOTable.Filter:= 'Month(FCompra)= '+ '03'; ADOTable.Filtered:= True;

ese Código Delphi [-]+'03';

no me gusta nada.

Prueba así:

Código Delphi [-]ADOTable.Filtered:= False; ADOTable.Filter:= 'Month(FCompra)=3'; ADOTable.Filtered:= True;

El mes es de tipo numérico y tu le estás pasando un string.
Tampoco funciona... sigue dando el mismo mensaje... al parecer estamos dando vuelta en circulos y tirando piedras... creo que es muy dificil que funcione tu solucion segun lei en la ayuda en la propiedad Filter se pone el CAMPO y despues lo que le quieres asignar por lo que... si le pones Month(FCompra) el va a buscar en la DB un campo llamado asi, a lo mejor en el ADOQuery te funciono porque entiende la funcion Month pero no pasa igual en el ADOTable

Disculpenme si me equivoco... pero creo que es mejor q ustedes mismos hagan la prueban para q vean lo que les digo... rectifiquenme si me equivoco

Gracias
__________________
La paciencia es un árbol de raíz amarga pero de frutos muy dulces.

Sr.Scorpion
Responder Con Cita
  #5  
Antiguo 20-03-2007
Nelet Nelet is offline
Miembro
 
Registrado: may 2003
Ubicación: Picassent - Valencia
Posts: 95
Poder: 24
Nelet Va por buen camino
Cita:
Empezado por Sr.Escorpion
Disculpenme si me equivoco... pero creo que es mejor q ustedes mismos hagan la prueban para q vean lo que les digo... rectifiquenme si me equivoco
Discúlpame tu a mi. En SQL Server si funciona, pero en Access, no. Me hace falta una siesta.

De todas formas si sabes el año y el mes que estás buscando he probado algo en access que si funciona:
Código Delphi [-]
ADOTable.Filtered:= False;
ADOTable.Filter:= 'FCompra >= FECHA_INICIAL AND FCompra <= FECHA_FINAL';
ADOTable.Filtered:= True;

En access es lo único que se me ocurre que puedas hacer. Las fechas inicial y final deberás calcularlas dado un mes o un año.

Espero te sirva.
__________________
_____________________________________
And follow me to where the real fun is
Responder Con Cita
  #6  
Antiguo 20-03-2007
Avatar de Sr.Scorpion
Sr.Scorpion Sr.Scorpion is offline
Miembro
 
Registrado: mar 2005
Posts: 92
Poder: 22
Sr.Scorpion Va por buen camino
Cita:
Empezado por Nelet
Discúlpame tu a mi. En SQL Server si funciona, pero en Access, no. Me hace falta una siesta.

De todas formas si sabes el año y el mes que estás buscando he probado algo en access que si funciona:
Código Delphi [-]ADOTable.Filtered:= False; ADOTable.Filter:= 'FCompra >= FECHA_INICIAL AND FCompra <= FECHA_FINAL'; ADOTable.Filtered:= True;


En access es lo único que se me ocurre que puedas hacer. Las fechas inicial y final deberás calcularlas dado un mes o un año.

Espero te sirva.
Eso es lo que tengo implementado.... pero resulta un poco engorroso hacer eso para cada mes... sin contar que si en febrero poner 01/02/2007 hasta 31/02/2007 da error porque febrero llega hasta 28... y asi pasa con los demas meses que tienen 30 y 31 dias..... en fin resulta bastante codigo para hacer tan pequeña cosa
__________________
La paciencia es un árbol de raíz amarga pero de frutos muy dulces.

Sr.Scorpion
Responder Con Cita
  #7  
Antiguo 20-03-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 28
Caral Va por buen camino
Hola
Disculpen pero no se donde esta el problema de filtrar dos fechas.
Con dos componentes DateTimePicker:
Código Delphi [-]
 ADOTable1.Open;
 ADOTable1.Filter := 'FCompra >= '+DateToStr(DateTimePicker1.DateTime)+' AND FCompra <= '+DateToStr(DateTimePicker2.DateTime);
 ADOTable1.Filtered := True;
y ya.
Tambien se puede hacer con dos edit igual.
Saludos
Responder Con Cita
  #8  
Antiguo 20-03-2007
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 22
Ivanzinho Va por buen camino
Cita:
Empezado por Sr.Scorpion
Eso es lo que tengo implementado.... pero resulta un poco engorroso hacer eso para cada mes... sin contar que si en febrero poner 01/02/2007 hasta 31/02/2007 da error porque febrero llega hasta 28... y asi pasa con los demas meses que tienen 30 y 31 dias..... en fin resulta bastante codigo para hacer tan pequeña cosa
Para evitarte eso puedes usar la función :

Código Delphi [-]
function EndOfAMonth ( const Year, Month : Word ) : TDateTime

Un saúdo
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita
  #9  
Antiguo 20-03-2007
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 21
luisgutierrezb Va por buen camino
Cita:
Empezado por Sr.Scorpion
El error que me da dice... Argumentos incorrectos. Fuera del Intervalo permitido o en conflicto con otros...
A mi me da ese error por intentar filtrar una tabla que ya viene con "order by" desde la instruccion SQL, puedes usar la propiedad sort del adotable para ordernar el dataset y asi poder usar el filter
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
filter vroa74 Conexión con bases de datos 3 06-03-2007 22:51:18
adotable ordenado por un campo leorene Conexión con bases de datos 2 13-02-2007 01:00:16
Locate o Filter jre740824 SQL 3 17-11-2006 11:17:35
Uso de filter CONY Conexión con bases de datos 1 02-08-2006 22:48:23
Borrar un campo con AdoTable Sotrono Conexión con bases de datos 4 07-11-2004 22:54:35


La franja horaria es GMT +2. Ahora son las 19:21:35.


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