Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Visual Basic clásico (http://www.forosdelweb.com/f69/)
-   -   Manipular registro en varias tablas a la vez (http://www.forosdelweb.com/f69/manipular-registro-varias-tablas-vez-585153/)

F_rank_cisco 11/05/2008 05:09

Manipular registro en varias tablas a la vez
 
Hola a todos:
Tengo una BD de Access 2000 que tiene 11 tablas.

Necesito que al acceder (por ejemplo) al registro 3 de la tabla 1, las 10 tablas restantes se sitúen en ese mismo registro, todas en modo Edit, para grabar datos en las 11 tablas y en sus correspondientes campos.
También que si quiero Borrar (por ejemplo) el registro 5 de la tabla 9, se borren también todos los registros 5 de las otras 10 tablas, y lo mismo para Añadir nuevos registros, si añado uno a la tabla 6 (por ejemplo), se añadan tambien en las otras tablas.

Mi pregunta:
Se puede hacer esto con una sola instrucción para las 11 tablas, quizás con SQL

Gracias de antemano a quien responda.

Baldur 13/05/2008 02:08

Re: Manipular registro en varias tablas a la vez
 
Especifica que tipo de acceso a datos usas, ADO,DAO , mediante control, mediante código...etc...
Pero aún así yo apostaría por que no se puede hacer en una única instruccón...pero haber...
Únicamente teniendo guardado el nombre de todas las tablas en un vector, y mediante un FOR recorrer el vector y haciendo el insert u otra operación con el nombre del elemento marcado por el FOR.
Me explico
nomTablas(0)="Tabla1"
nomTablas(1)="Tabla2"
nomTablas(2)="Tabla3"
....

For x=0 to 10
strSQL="INSERT INTO " & nomTablas(x) & "VALUES(....."
BD.execute(strSQL......)
Next x

Es la única manera que se me ocurre de hacerlo todo "de golpe"

Saludos!

F_rank_cisco 13/05/2008 09:19

Re: Manipular registro en varias tablas a la vez
 
Efectivamente Alejandro 88, como tu bien dices, no hay otra manera de hacerlo, pero muchas gracias por tu ayuda.


La zona horaria es GMT -6. Ahora son las 07:59.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.