PDA

Ver la Versión Completa : BD, no realizar las relaciones hasta que yo le diga.


Magraner
02-05-2008, 12:03:34
Hola compañeros.

Estoy programando desde hace apenas 2 meses con delphi 2007. Anteriormente habia programado con visual basic 6.

El problema que se me plantea es el sigüiente:

Tablas:
REVISION(FECHA,INSTALACIÓN,OTROS CAMPOS);
APLICAR(F_REVI, INST_REVI, TRATAMIENTO);
TRATAMIENTO(ID, NOMBRE, DESCRIPCION);
Estoy trabajando con una BD Acces (si, lo se, es lo peor) atacada mediante ADO.

El problema es el sigüiente: Necesito introducir varias revisiones de una misma instalación, pero todas ellas, por defecto con los mismos tratamientos.
Inicialmente pensé el formulario tenia un dbgrid en el que se mostraban las revisiones para la instalación que iba introduciendo, i un segundo grid que reflejava la relacion aplicar (con un inner join para mostrar el nombre del tratamiento). El problema es que como el segundo dbgrid està relacionado con el primero, cuando cambio de registro, los grids se vacian y yo quisiera que no se vaciaran. La pregunta es, hay algún control o método con DBgrid-ADO, u otro control, para no crear las relaciones en la BD hasta que yo lo desee?

Gràcias J. Magraner

ContraVeneno
02-05-2008, 23:13:53
Bienvenido a los foros, te invito a leer la guía de estilo. (http://www.clubdelphi.com/foros/guiaestilo.php)

Sobre tu duda, la verdad es que no entendí realmente cuál es el problema, si pudieras dar una explicación más detallada de lo que quieres realizar, seguro te podemos ayudar.

P.D. Espero que al igual que yo, pronto descubras que Delphi es mucho más potente que VB6.

MaMu
03-05-2008, 07:09:31
Hola compañeros.

Estoy programando desde hace apenas 2 meses con delphi 2007. Anteriormente habia programado con visual basic 6.

El problema que se me plantea es el sigüiente:


Tablas:REVISION(FECHA,INSTALACIÓN,OTROS CAMPOS);

APLICAR(F_REVI, INST_REVI, TRATAMIENTO);

TRATAMIENTO(ID, NOMBRE, DESCRIPCION);
Estoy trabajando con una BD Acces (si, lo se, es lo peor) atacada mediante ADO.

El problema es el sigüiente: Necesito introducir varias revisiones de una misma instalación, pero todas ellas, por defecto con los mismos tratamientos.
Inicialmente pensé el formulario tenia un dbgrid en el que se mostraban las revisiones para la instalación que iba introduciendo, i un segundo grid que reflejava la relacion aplicar (con un inner join para mostrar el nombre del tratamiento). El problema es que como el segundo dbgrid està relacionado con el primero, cuando cambio de registro, los grids se vacian y yo quisiera que no se vaciaran. La pregunta es, hay algún control o método con DBgrid-ADO, u otro control, para no crear las relaciones en la BD hasta que yo lo desee?

Gràcias J. Magraner

La única forma de hacerlo, es utilizar Querys independientes, asociadas cada uno con su DBGrid, puesto a que, con INNER JOIN, la consulta es una sola, y simplemente distribuiste unos campos al DBGrid1 y otros tantos al DBGrid2, pero el source es el mismo, por lo que cualquier cambio se refleja en ambos Grids. Yo creo que deberias hacer algun tipo de relacion Maestro/Detalle.