Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-11-2005
Avatar de vpepen
vpepen vpepen is offline
Miembro
 
Registrado: nov 2003
Ubicación: Higüey
Posts: 104
Poder: 21
vpepen Va por buen camino
Campo LookUp y Filtro !!!

Hola Foro !!!

Tengo el siguiente problemita: Tengo un campo LookUp en un componente ADOTable, pero sucede que en la tabla a la que hace referencia el campo LookUp pueden haber más de una coincidencias para mostrar, por lo que para ello utilizo un filtro para que sólo busque el valor que me interesa en dicha tabla, pero sucede que parece ser que el campos lookup ignora dicho filtro y busca en la tabla completa, mostrando un valor que no es el deseado, en este caso, la primera coincidencia que encuentra.

Las gracias anticipadas,

Víctor.-
Responder Con Cita
  #2  
Antiguo 16-11-2005
Avatar de vpepen
vpepen vpepen is offline
Miembro
 
Registrado: nov 2003
Ubicación: Higüey
Posts: 104
Poder: 21
vpepen Va por buen camino
Qué otra forma alternativa podría utilizar para resolver este problema ???

Víctor.-
Responder Con Cita
  #3  
Antiguo 16-11-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Como los filtras? Filter o SQL?
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #4  
Antiguo 16-11-2005
Avatar de vpepen
vpepen vpepen is offline
Miembro
 
Registrado: nov 2003
Ubicación: Higüey
Posts: 104
Poder: 21
vpepen Va por buen camino
Hola vtdeleon, gracias por contestar....

Te cuento que la forma original como lo estaba filtrando era usando la propiedad Filter del componente ADOTable al cual hace referencia el campo LookUp, pero en vista de no funcionar utilice tambien un ADOQuery y por medio a SQL hice el filtrado, apuntando claro está el campo LookUp al ADOQuery, pero me da el mismo resultado, es decir, no me está funcionando.

Podría resolver el problema si el campo LookUp me permitiera hacer la búsqueda utilizando dos campos, ya que el mismo sólo permite hacerlo por medio a un campo.

Víctor.-
Responder Con Cita
  #5  
Antiguo 17-11-2005
Avatar de vpepen
vpepen vpepen is offline
Miembro
 
Registrado: nov 2003
Ubicación: Higüey
Posts: 104
Poder: 21
vpepen Va por buen camino
..........
Responder Con Cita
  #6  
Antiguo 17-11-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Aun tengo las ideas vagas, muestranos la sentenicas que usas y demas....
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #7  
Antiguo 17-11-2005
Avatar de vpepen
vpepen vpepen is offline
Miembro
 
Registrado: nov 2003
Ubicación: Higüey
Posts: 104
Poder: 21
vpepen Va por buen camino
Tengo las siguientes tablas:

Facturas
NumeroFactura
IdCliente
Fecha
Monto
Balance
Etc...

DetallesFacturas
NumeroFactura
Etc...

Pagos
NumeroPago
Fecha
Etc...

DetallesPagos
NumeroPago
NumeroFactura
Fecha
BalanceFactura (En ese momento del pago)
MontoAplicado

Si nos fijamos, una factura en particular puede ser pagada por completo o por partes, en tal caso, si es por partes tendremos más de una transacción en la tabla DetallesPagos con el campo NumeroFactura igual, pero con el campo NumeroPago diferentes. Lo que hago es simplemente hacer un filtro ADOT.DetallesPagos.Filter := 'NumeroPago = '+ADOT.Pagos.FieldByNames('Numeros').AsString.


Víctor.-
Responder Con Cita
  #8  
Antiguo 17-11-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Te aseguraste que ADOT.Pagos.FieldByNames('Numeros').AsString. arroja dato.

Prueba en tiempo de dise~o, asignale un numero que arroje por lo menos un registro.
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #9  
Antiguo 18-11-2005
Avatar de vpepen
vpepen vpepen is offline
Miembro
 
Registrado: nov 2003
Ubicación: Higüey
Posts: 104
Poder: 21
vpepen Va por buen camino
Si, hice esa prueba enviando un ShowMessage(ADOT.Pagos.FieldByNames('Numeros').AsString).

Víctor.-
Responder Con Cita
  #10  
Antiguo 18-11-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos
Cita:
Empezado por Yo
Prueba en tiempo de dise~o, asignale un numero que arroje por lo menos un registro.
Y esto? lo hiciste?
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #11  
Antiguo 18-11-2005
Avatar de vpepen
vpepen vpepen is offline
Miembro
 
Registrado: nov 2003
Ubicación: Higüey
Posts: 104
Poder: 21
vpepen Va por buen camino
Cita:
Empezado por vtdeleon
SaludosY esto? lo hiciste?
Si lo hice !!!
Responder Con Cita
  #12  
Antiguo 18-11-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Parece que estamos en un chat, pero debes darnos resultados de tus pruebas. Ahora no se si ya funciono o no

Aqui no cobramos por palabras
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #13  
Antiguo 18-11-2005
Avatar de vpepen
vpepen vpepen is offline
Miembro
 
Registrado: nov 2003
Ubicación: Higüey
Posts: 104
Poder: 21
vpepen Va por buen camino
Cita:
Empezado por vtdeleon
Saludos

Parece que estamos en un chat, pero debes darnos resultados de tus pruebas. Ahora no se si ya funciono o no

Aqui no cobramos por palabras
Concuerdo con eso !!!

Ahora bien, hice las pruebas, tanto en tiempo de diseño como de ejecución y me mostraba los resultados sin ningún problema, es decir, el filtro funciona, tanto con Filter como con SQL. Hice también varias pruebas con campos LookUp y confirmo lo que te dije en un principio, los campos LookUp no asumen los filtrados, sino que se va directamente a la tabla en custión. Te pido de favor que hagas una prueba con campos LookUp donde haya más de una coincidencia y le apliques un filtro y vas el resultado.

Las gracias anticipadas,

Víctor.-
Responder Con Cita
  #14  
Antiguo 18-11-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Salduos

Te enviare un ejemplo en la que me ha funcionado, tiene un codigo chapusero pero seguro lo mejoraras
Archivos Adjuntos
Tipo de Archivo: zip filtrarlookup.zip (8,1 KB, 36 visitas)
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #15  
Antiguo 18-11-2005
Avatar de vpepen
vpepen vpepen is offline
Miembro
 
Registrado: nov 2003
Ubicación: Higüey
Posts: 104
Poder: 21
vpepen Va por buen camino
Vi el ejemplo, pero por más que lo revisé no vi donde haces uso de campos LookUp. Recuerda que estos campos son los que se pueden crear por el componente de acceso a los datos, es decir, este campo no existe en la tabla de la base de datos, sino que es un campo que se crea cuando la aplicación está en ejecución.

Víctor
Responder Con Cita
  #16  
Antiguo 18-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Tambien lo puedes crear en diseño.

Doble clic a tu tabla/consulta, Add Field, y ahí especificas que es un campo LookUp.

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #17  
Antiguo 18-11-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos
Cita:
Empezado por vpepen
Vi el ejemplo, pero por más que lo revisé no vi donde haces uso de campos LookUp.
El campo 'ID' es Lookup
Cita:
Empezado por Lepe
Tambien lo puedes crear en diseño.
Asi lo hice, no en ejecucion
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #18  
Antiguo 19-11-2005
Avatar de vpepen
vpepen vpepen is offline
Miembro
 
Registrado: nov 2003
Ubicación: Higüey
Posts: 104
Poder: 21
vpepen Va por buen camino
Cita:
Empezado por Lepe
Tambien lo puedes crear en diseño.

Doble clic a tu tabla/consulta, Add Field, y ahí especificas que es un campo LookUp.

saludos
En realidad me refería a que es un campo que no utiliza espacio en disco como un campo de una tabla. Cuando me referí a que se "crea" en realidad traté de referirme a su utilización.

Víctor.-
Responder Con Cita
  #19  
Antiguo 19-11-2005
Avatar de vpepen
vpepen vpepen is offline
Miembro
 
Registrado: nov 2003
Ubicación: Higüey
Posts: 104
Poder: 21
vpepen Va por buen camino
Cita:
Empezado por vtdeleon
Saludos
El campo 'ID' es Lookup Asi lo hice, no en ejecucion
Tienes razón vtdeleon, es LookUp

Aunque con el ejemplo que me das no puedo aplicarlo a mi problemita, ya que como te dije, tengo varias coincidencias en la tabla donde busca el LookUp, te agradezco tu gran colaboración. En realidad creo que el que ha fallado soy yo, ya que bastaba con dedicar un poquito de tiempo a leer el Help.

Tomado de la ayuda:

8. Choose from the Result Field drop-down list a field in the lookup dataset to return as the value of the lookup field you are creating. To return values from more than one field in the lookup dataset, enter field names directly instead. Separate multiple field names with semicolons.


Víctor.-
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


La franja horaria es GMT +2. Ahora son las 10:26: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