PDA

Ver la Versión Completa : Registros con datos de otra tabla


GustavoCruz
07-04-2013, 01:27:37
Buenas tardes.

No se si este sea el espacio, pero de todas maneras...
Tengo una db hecha en access y para el caso utilizo los acomponentes ado y una dbgrilla.
me gustaría saber cómo debo hacer para que en un campo de la grilla me aparezcan en forma de combo los datos de otra tabla. Me hago a entender.
Tengo la tabla TABLA_RESULTADOS con los campos:
codigo
descripcion
tipo_medida
resultado
y la tabla TABLA_MEDIDAS con los campos:
codigo
descripcion
tipo_medida

En la grilla muestra los los campos de la tabla RESULTADOS de la siguiente manera:
| Codigo | Descripción | Resultado |
-----------------------------------


la cuestión es que en el campo resultado aparezcan los datos del campo "descripcion" de la tabla TABLA_MEDIDAS según el "tipo_medida"

Gracias de antemano por toda vuestra ayuda...

Gustavo Cruz

Casimiro Notevi
07-04-2013, 02:07:59
Creo que no está muy claro lo que quieres.

Si en la tabla_resultados tienes el campo "resultado", ¿por qué le asignas el valor descripción de la tabla_medidas?
Además de que tampoco se entiende en tu pregunta para qué quieres entonces un combo en ese campo.

Si lo que quieres es lo último (además del campo resultado) sería algo así como:
select re.codigo, re.descripcion, me.descripcion as medida
from tabla_resultados re
inner join tabla_medidas me on me.codigo=re.tipo_medida
Y saldría así:

Codigo | Descripción | Resultado | Medida
-------------------------------------------

GustavoCruz
07-04-2013, 02:39:37
Hola Casimiro gracias por tu tiempo.

Resulta que el sistema la tabla resultados va a obtener los "resultados" según una serie de posibilidades que están en la tabla de medidas.
Si en la tabla de resultados tengo el registro
codigo = 'po'
descripcion = 'Parcial de Orina'
resultado = ''
tipo_resultado = '2'

y en la tabla de medidas
codigo | descripcion | tipo_medida
1 Amarillo 2
2 Transparente 2
3 Turbio 2


así de esta manera quiero que me aparezcan en un combobox en la grilla solamente esos valores para la tabla TABLA_RESULTADOS en el lugar donde el asuario digitaría los Resultados

ecfisa
07-04-2013, 03:13:37
Hola Gustavo.

A ver... tenemos dos tablas:

Tabla RESULTADOS

codigo = 'po'
descripcion = 'Parcial de Orina'
resultado = ''
tipo_resultado = '2'

Tabla MEDIDAS

codigo | descripcion | tipo_medida
1 Amarillo 2
2 Transparente 2
3 Turbio 2

Partiendo de los datos datos anteriores, ¿ Podrías ejemplificar el resultado que desearías obtener ?

Saludos.

ginkaku
07-04-2013, 04:14:35
Hola Gustavo, segun lo que entendi podrias hacer lo siguiente:
1) mostrar en el Grid tu tabla:
codigo descripcion resultado tipo_resultado
'po' 'Parcial de Orina' - '2'
'es' 'Parcial de ....' - '8'

2) luego colocar en el grid la opción de DobleClick, para llamar a un formulario pequeñito donde se vea un ComboBox con los datos de "descripcion" de la segunda tabla
Amarillo
Transparente
Turbio
3) Que seleccione el mas adecuado, presione un boton ok y se actualice el contenido del grid
codigo descripcion resultado tipo_resultado
'po' 'Parcial de Orina' Turbio '2'
'es' 'Parcial de ....' - '8'

Necesitaras saber a que fila le dio "Doble click" para actualizar. Espero haberte entendido y darte una pauta para tu solución. Si necesitas mas detalle del codigo avisa nomas :)

GustavoCruz
08-04-2013, 16:25:13
Buenos días amigos. efectivamente como lo indica ginkaku eso es lo que necesito pero no en un formulario nuevo sino en la grilla. Que sea la grilla quien me despliegue el combobox al momento de escribir el resultado...

Gracias de antemano por vuestra ayuda

Gustavo Cruz

ecfisa
08-04-2013, 18:17:24
Hola Gustavo.

Entonces creo que estos enlaces te pueden orientar:

combobox dentro de dbgrid (http://www.clubdelphi.com/foros/showthread.php?t=69688)
DbGrid con un campo ajeno a la tabla (http://www.clubdelphi.com/foros/showthread.php?t=74448)


Saludos.