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 15-01-2004
NeWsP NeWsP is offline
Miembro
 
Registrado: oct 2003
Ubicación: Barcelona
Posts: 57
Poder: 21
NeWsP Va por buen camino
Lightbulb Ayuda con consulta SQL

Buenos dias.

Tengo un pequeño problema que no se por donde coger... os cuento:

- Tengo una tabla de EQUIPOS y otra de PRECIOS.

en la de EQUIPOS hay el nombre del equipo y las mecacnicas por la que esta compuesto dicho equipo ejemplo:

EQUIPO | PLANO | DESCRIPCCION
prueba PM0001 plano numero 1
prueba PM0002 plano numero 2
prueba1 PM0003 Plano de otro equipo

la de precioes es asi

PLANO | PROVEEDOR | PRECIO
PM0001 Taller1 5
PM0001 Taller2 10


lo q tengo es un dbgrid con una consulta q muestra la mecanica y el precio para cada equipo, lo hago asi :

query1.SQL.Add('select PLANO_M AS PLANO,DESCR_M,PROVEEDOR,MATERIAL,PRECIO from EQUIPOS a, PRECIOS b where a.PLANO_M = b.PLANO and upper(a.EQUIPO) = upper('+quotedstr(nombre_equipo)+')');

Lo que a mi me interesaria es que cuando un plano lo hacen 2 proveedores, solo me mostrara 1 y puediera cambiar el proveedor con una dblookupcombo

poner el combo se,q me muestre lo que quiero tb.

Lo que no se hacer es que solo me muestre 1 campo cuando sean 2 proveedores y q cuando cambie la combo cambie el precio.

Espero que este claro y que alguien me puede hechar una mano

Muchas gracias
Responder Con Cita
  #2  
Antiguo 15-01-2004
Avatar de haron
haron haron is offline
Miembro
 
Registrado: may 2003
Ubicación: Las Palmas de Gran Canaria
Posts: 310
Poder: 21
haron Va por buen camino
no se si he entendido bien.

creo que es cuestion de organizarse.
vamos a ver. seleccionemos un equipo: 'nombre_equipo'.

los proveedores que han trabajado en este equipo son:

Código:
select p.proveedores
from equipos e, precios p
where e.nombre_equipo=:nombre_equipo
and e.plano=p.plano
ese conjunto de proveedores debes colocarlo no en dblookupcombobox, sino en un combo normal y corriente. en el evento 'onChange' de dicho combo capturas el proveedor seleccionado y lanzas la siguiente consulta, refrescando el grid:

Código:
select e.plano, e.descripcion, e.material, p.precio
from equipos e, precios p
where e.nombre_equipo=:nombre_equipo
and p.proveedor=:proveedor
amd e.plano=p.plano
el campo 'p.proveedor' lo he quitado del grid porque ya aparece en el combo.
__________________
“Plantad la semilla de la avaricia en la infértil tierra de la estupidez y obtendreis la bella flor de la mierda”
(Confucio)
Responder Con Cita
  #3  
Antiguo 15-01-2004
NeWsP NeWsP is offline
Miembro
 
Registrado: oct 2003
Ubicación: Barcelona
Posts: 57
Poder: 21
NeWsP Va por buen camino
Asias por contestar

Pero no se eso esactamente aunque me soluciona una parte

el problema es que en la tabla esta puesto asi :

EQUIPO MECANICA PROVEEDOR PRECIO

equipo1 PM0001 taller1 5
equipo1 PM0001 taller2 10

no se si me entiendes, tal y como tu me lo has dicho me mostraria las dos mecanicas con los dos proveedores, ya que el numero de mecanica es el mismo

ese es el problema q quiero q solo me muestre 1 vez el PM0001 pero pueda cambiar de proveedor.

asias otra vez
Responder Con Cita
  #4  
Antiguo 15-01-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
mira utiliza un TQuery y un ttable la consulta del tquery seria:

select disticnt * from equipos

y la ttable la utilizas como master detail siendo el master el tquery y el detail la tabla

en el ttable iria porsupuesto la de precio y el campo de enlace seria el numero de plano

Pruebalo y suerte
Responder Con Cita
  #5  
Antiguo 17-01-2004
NeWsP NeWsP is offline
Miembro
 
Registrado: oct 2003
Ubicación: Barcelona
Posts: 57
Poder: 21
NeWsP Va por buen camino
hola otra vez
He hecho eso que me has comentado
pero en el grid no me sale la lista de todas las mecanicas de las q esta compueto el equipo.

Solo me sale la primera mecanica del equipo seleccionado

Sabes a q puede ser debido?

gracias
Responder Con Cita
  #6  
Antiguo 18-01-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
mira lo que pasa es losiguiente, en el grid te va a moostrar una linea por equipo que segun me dices te lo hace, pero debes programar para cambiar el precio activo cada vez que lo seleccionen del combo...

al utilizar la funcion distintc en el sql conectado al grid, el grid te muestra solo la lista de equipos y en el combo al seleccionar un registro del grid te deben aparecer los distintos precios del seleccionado, eso fue lo que te entendi que querias hacer
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #7  
Antiguo 18-01-2004
NeWsP NeWsP is offline
Miembro
 
Registrado: oct 2003
Ubicación: Barcelona
Posts: 57
Poder: 21
NeWsP Va por buen camino
uhmmmm a ve, creo q no nos hemos acabado de enter, te explico otra vez, a ve si nos entendemos ante todo GRACIAS por ayudarme

Imaginate un EQUIPO, compuesto por MECANICAS y cada MECANICA la puede hacer dos talleres

por eso en este grid necesito mostrar todas las MECANICAS que forman un equipo.

y por cada mecanica solo se mostrara un taller, y con el combo cambiar el taller. ( q se cambiara el precio de ESA MECANICA )

las demas se verian igual.

Seria un grid con una lista no solo con 1.

Si hace falta te pego algo de codigo

muchas gracias.
Responder Con Cita
  #8  
Antiguo 20-01-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
creo que me cuesta entenderte por que por mas que leo siempre entiendo desde el principio. mira Tienes una tabla equipos y otra llamada precios por lo que entendi la clave que las relaciona es el numero de plano por lo que reitero si haces lo que te explique en un master detail el master equipos y el detail precios, a cada linea en el equipo le corresponde n lineas en precios(eso es lo que entend que querias hacer)
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
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 16:18:54.


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