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 01-10-2004
syntetiko syntetiko is offline
Miembro
 
Registrado: may 2003
Ubicación: Tenerife
Posts: 11
Poder: 0
syntetiko Va por buen camino
Unhappy EdatabaseError FIELD NOT FOUND en consulta JOIN

Hola a todos!

Os comento un problema que realmente me trae de cabeza, tiene toda la pinta de ser una tontería pero la verdad es que no doy con la solución.

tengo dos tablas:

tbPedidos tbUsuarios
======= ========

idPedido
idUsuario -----> idUsuario
idNombre


y una query:

SELECT * FROM pedidos INNER JOIN usuarios ON pedidos.idusuario=usuarios.idusuario WHERE usuarios.nombre="pepe"


y me pasa algo muy curioso, si en el "field editor" del TADOQuery agrego todos los campos del query con "add all fields" al ejecutar la consulta me devuelve un error del tipo: 'EdatabaseError field "idusuario" not found', sin embargo si NO agrego los campos en el field editor del TADOQyery la consulta funciona perfectamente. Necesito agregar esos campos en el field editor ya que en el grid tengo que mostrar el nombre del usuario y no su id, por lo que necesito crear un campo lookupfield en el TADOQuery

¿Qué estoy haciendo mal?, os agracedería cualquier ayuda. Gracias


un cordial saludo.
__________________
Recibe un cordial saludo! :)
Responder Con Cita
  #2  
Antiguo 01-10-2004
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Hola,
no uso los componentes ADO, pero lo que quería comentarte es que yo, a título personal soy enemigo acérrimo de los campos lookup, y veo innecesario crear un campo lookup en una Query... ¿por que no te lo traes en la SELECT, puesto que tienes un JOIN a esa misma tabla?.

De todas formas, prueba a usar el Grid con la propiedad UseTFields a False y configuras los campos del grid en diseño...

Salu2.
Responder Con Cita
  #3  
Antiguo 01-10-2004
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 22
marto Va por buen camino
Wop!


Cita:
Empezado por defcon1_es
Hola,
soy enemigo acérrimo de los campos lookup, y veo innecesario crear un campo lookup en una Query... ¿por que no te lo traes en la SELECT, puesto que tienes un JOIN a esa misma tabla?.
No voy a discutir ( o sí ) si es bueno o no crear campos lookup, pero lo que es cierto es que sirven para algo más que calcular el valor del campo en la propia consulta. Por ejemplo, si pones un lookup en un dbgrid, el propio control te muestra un combo cuando editas el campo con a lista de valores del dataset de búsqueda
__________________
E pur si muove
Responder Con Cita
  #4  
Antiguo 01-10-2004
Gydba Gydba is offline
Miembro
 
Registrado: ene 2004
Ubicación: Argentina
Posts: 673
Poder: 21
Gydba Va por buen camino
Hola,

Yo tampoco uso esos componente, pero probaría con algo como:
Código SQL [-]
SELECT * FROM pedidos P
   JOIN usuarios U ON P.idusuario = U.idusuario
WHERE 
   U.nombre = rmNombre

Lo que no indicás son los tipos de datos de dichos campos, por lo cual la validez de la relación no te la puedo garantizar.

En cuanto a los campos lookup puedo decir que no soy enemigo, pero para seleccionar un registro prefiero utilizar una ventana completamente aparte con mejores características que aventajan sobre los lookups.
__________________
Suerte
.: Gydba :.
Responder Con Cita
  #5  
Antiguo 02-10-2004
syntetiko syntetiko is offline
Miembro
 
Registrado: may 2003
Ubicación: Tenerife
Posts: 11
Poder: 0
syntetiko Va por buen camino
Realizando la consulta mediante parámetros me da el mismo error.

Gracias por tu ayuda.
__________________
Recibe un cordial saludo! :)
Responder Con Cita
  #6  
Antiguo 02-10-2004
syntetiko syntetiko is offline
Miembro
 
Registrado: may 2003
Ubicación: Tenerife
Posts: 11
Poder: 0
syntetiko Va por buen camino
Cita:
Empezado por defcon1_es
Hola,
no uso los componentes ADO, pero lo que quería comentarte es que yo, a título personal soy enemigo acérrimo de los campos lookup, y veo innecesario crear un campo lookup en una Query... ¿por que no te lo traes en la SELECT, puesto que tienes un JOIN a esa misma tabla?.
Eso no se me había ocurrido. Lo que he hecho es traerme los campos que quiero mostrar en el DBGrid mediante la propiedad SQL de TADOQUery y después ejecutar la consulta personalizada en función de los datos introducidos por el usuario. Y así sí funciona!!!

SELECT pedidos.idpedido,pedidos.precio,usuarios.nombre FROM pedidos,usuarios WHERE pedidos.idusuario=usuarios.idusuario

Muchas gracias por tu ayuda.
__________________
Recibe un cordial 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 18:04:13.


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