Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Problema con tablas (https://www.clubdelphi.com/foros/showthread.php?t=31375)

Elfoscuro 05-05-2006 19:57:09

Problema con tablas
 
Hola. Tengo un problema que seguro que será un tontería, pero me está empezando a mosquear.

Estoy empezando a trabajar con tablas, y para empezar he decidido un punto de partida cómodo, ADO. He creado una DB en Access, he creado su conexión, y la he abierto desde Delphi con un ADOConection. Después he añadido todas las tablas de la BD con ADOTables, y las he "conectado" con DataSources. Hasta aquí todo perfecto. Pongo dbEdits, dbGrids, y todo ok.

Mi problema surge al intentar relacionar tablas. Me explico.

Mis tablas tienen campos que se leen en otras tablas. Por ejemplo:

Tabla Principal:
Nombre Char 50
Company Num
...

Tabla Companyias:
idCompany AutoNum
Company Char 50

Cuando pongo la compañía en la tabla principal, uso un número, que es a través del que relaciono la tabla. La modificación la hago a través de un componente jedi que ahora no recuerdo el nombre, pero que básicamente es un desplegable que accede al valor de Principal.Company, y el desplegable se llena con Companyias.Company. Esta parte va perfecta.

El problema que tengo es en un dbgrid (tanto el original como en el que viene en los jedi). Hago una consulta sql con los campos que me interesa mostrar y se la asigno al grid. Perfecto. Además, como no me interesa que se puedan modificar datos en el grid, cambio la opción correspondiente. Las modificaciones las hago a través de dbEdits y el componente jedi que os he comentado más arriba, y si, el valor se cambia, pero no se refleja en el grid.

La única solución que he encontrado es hacer que se ejecute la consulta cada vez que se sale de un dbEdit, pero me parece que no es la solución correcta, ya que tengo que modificar la propiedad onchange u onexit en cada sitio donde permita modificar campos de la base de datos, y eso me parece un poco "pepe gotera y otilio, chapuzas a domicilio".

Otra cosa que se me ocurrió fue crea la consulta directamente en Access y llamarla con un ADOQuery, pero el resultado es el mismo. Los datos cambian, pero yo no lo veo reflejado en el grid (si en los dbEdits).

A ver si me podeis echar una mano, que soy novato con las BBDD.

Un saludo y gracias por adelantado


La franja horaria es GMT +2. Ahora son las 19:16:02.

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