Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   tabla combinada con 2 tablas (https://www.clubdelphi.com/foros/showthread.php?t=44887)

anubis 16-06-2007 05:48:22

tabla compuesta
 
EStoy enredando con el database editor para enlazar dos tablas.
1 tabla tiene
codigo numerico clave
descripcion cadena

2 tabla
habitacion numerico clave
codigo numerico

la cuestion es, tal y como se hacia en access, sino recuerdo mal, es enlazar el codigo de la segunda tabla con el codigo de la primera para que en la segunda en vez de aparecer el codigo aparezca la descripcion, pero no me sale, estoy con el tablelookup y la referentialintegrity, pero no consigo que salga lo que quiero.

por cierto se puede borrar un campo de una tabla ya hecha?

muchas gracias

anubis 16-06-2007 09:19:47

He conseguido en tiempo de diseño mezclar las dos bases de datos sustituir el codigot por descripcion, el unico problema es que solo me salen el equivalente al primer valor de la tabla segunda que se corresponde con el primer valor de la segunda tabla en un tdbgrib, pero no me salen todos y quisiera que me salieran todos.

Lepe 16-06-2007 09:23:19

Si estas con paradox, no te molestes, no tiene implementada la integridad referencial (aunque venga en el database editor, la base de datos es la que no lo soporta).

Se puede borrar un campo, pero delphi es un usuario más de la tabla, quita el campo primero de delphi y después del database Editor.... o cierra delphi.

Saludos

anubis 16-06-2007 09:48:16

Gracias por contestar, parece que voy logrando cositas con esto, por lo menos con un dbcombobox, pero no puedo hacer que en el combobox me aparezca el primer registro aunque en el dbgrid si aparece.

sobre borrar el campo, no el registro de una tabla paradox, ya lo intente editando la estructura (sin tener abierto el delphi) pero no aparece nada para poder borrar el campo, alguna sugerencia?

gracias de nuevo

anubis 16-06-2007 10:02:12

es dblookupcombobox, ya lo solucione poniendo en el keyvalue lo que yo queria......

sobre lo de borrar el campo de una tabla con el database desktop lo veo dificil.

anubis 16-06-2007 21:08:47

A ver si podeis ayudarme porque no consigo hacer que me salgan todos los datos.
de las dos tablas que tengo, la primera sale en la segunda, pero solo salen los resultados del primer valor. Con un dblookupcombobox consigo cambiar los valores, pero solo se ven esos y quiero que se vean todos, para poder cambiar.

gracias

anubis 17-06-2007 03:34:17

tabla combinada con 2 tablas
 
Buenas de nuevo, no sabia si seguir en el otro post porque la pregunta es diferente

tengo 2 tablas: algo asi para usar un ejemplo conocido dire que es de peliculas, la primera tiene los generos y la segunda es de las peliculas.

En la segunda tabla, peliculas, quiero que en vez de aparecer el codigo del genero aparezca la descripcion, esto lo hice con un tablelookup en la segunda tabla y añadiendo un dbgrib, si aparecen, lo que no me deja es cambiar el genero, me dice que la table2 no esta en modo insert o edit.

Estoy usando un dbnavigator tambien.

Alguna idea?....

marcoszorrilla 17-06-2007 11:01:12

Convendría ver algo de código que estas utilizando para ver si podemos orientarte.

Un Saludo.

anubis 17-06-2007 11:30:56

Gracias por contestar

lo que tengo es esto:
1 tabla tiene
codigo numerico clave
descripcion cadena

2 tabla
habitacion numerico clave
codigo numerico

el codigo numerico de la segunda tabla se corresponde con el codigo de la primera para poder ver en la segunda la descripcion correspondiente a ese codigo.


codigo en si mismo no tengo, porque lo estoy haciendo de momento con un dbrid y tablelookup, asi que cuando hago click en la casilla del dbgrid se me expande las descripciones de la primera tabla para elegir, pero cuando la cambio me dice qeu table2 no esta en edit o insert mode, a pesar de que lo he puesto en codigo en el form create.

nose como va esto la verdad, me lio yo solo y no tiene pinta de ser dificil.

gracias

marcoszorrilla 17-06-2007 18:34:55

Por lo que veo te sobraría el campo código de la segunda tabla. Por otra parte podría resolverse la visualización con una consulta sin mayor problema.
Código SQL [-]
Select T1.Codigo, T1.Clave, T1.Descripcion,
T2.Clave, T2.Habitacion
From Tabla1 as T1, Tabla2 as T2
Where T1.Clave = T2.Clave


Un Saludo.

Lepe 17-06-2007 19:13:13

Para borrar un campo de la estructura, primero debes activar el modo de Reestructure Table y después, seleccionas el campo y pulsa la combinación Ctrl+ Supr ó Supr (no recuerdo bien).

Cuando dices que se vean todos.... no entiendo bien.
Si quieres que al desplegar la lista, se muestren varios campos a la vez, en la propiedad ListField, puedes poner varios nombres de campos separados por punto y coma ej: codigo;Nombre;apellidos;

Si se trata de ver todos los registros (porque faltan algunos registros), puedes hacer una consulta TQuery y enlazarla al DBlookupcombo.

Saludos

marcoszorrilla 17-06-2007 19:17:37

Nota:He tenido que refundir 2 preguntas ya que Anubis había cometido el error de preguntar 2 veces lo mismo, lo cual según se expresa en la "Guía de estilo", no está permitido.


Un Saludo.

anubis 18-06-2007 18:23:02

Mil disculpas por repetir el post.
La consulta si funciona, pero el problema es actualizar los datos, cuando me sale en dbgrid el campo de la segunda tabla que esta relacionada con la primera, al desplegar el valor para cambiar me dice que no se puede porque table2 no esta en edit mode o insert mode, aunque ya puse table2.edit despues de abrir.

gracias, con ctrl+supr si se puede borrar campos.


La franja horaria es GMT +2. Ahora son las 10:27:55.

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