insert masivo en access

16/11/2006 - 17:02 por Robinson.Moscoso | Informe spam
hola como estan todos...

quiero hacer esto en una BD de access

en una instruccion inserto los datos en la tabla 1 digamos algo asi:

insert into tabla1 (id_tabla1, campotabla1) values (1,"carro")
insert into tabla1 (id_tabla1, campotabla1) values (2,"moto")
insert into tabla1 (id_tabla1, campotabla1) values (3,"bus")
insert into tabla1 (id_tabla1, campotabla1) values (4,"camion")

luego en otra instruccion inserto los datos de la tabla 2 digamos algo asi:

insert into tabla2 (id_tabla2, id_tabla1, campotabla2) values (1,
1,"vehiculo carro1")
insert into tabla2 (id_tabla2, id_tabla1, campotabla2) values (2,
1,"vehiculo carro2")
insert into tabla2 (id_tabla2, id_tabla1, campotabla2) values (3,
2,"vehiculo moto1")
insert into tabla2 (id_tabla2, id_tabla1, campotabla2) values (4,
2,"vehiculo carro2")

las dos tablas estan vacias, el problema es que el id_tabla1 es autonumerico
y no me recibe el valor que le estoy pasando, sino que utiliza el del
autonumerico, y cuando inserto los datos de la tabla 2 hay problemas pq no
coinciden los id_tabla1.

Pregunta: ¿se pude hacer algo para que acces me reciba el valor que le estoy
pasando?, o alguna sugerencia para manejar los id_tabla1 que estoy
insertarndo en la tabla2 con el fin de que inserten en la forma que
necesito?.
estoy trabajando con VB2005


Un saludo,

Róbinson Moscoso
Colombia
 

Leer las respuestas

#1 Carlos Gómez
16/11/2006 - 18:32 | Informe spam
Como el Id es autonumerico, no es necesario (creo que ni se debe)
pasarlo:
INSERT INTO tabla1 (campotabla1) VALUES ("carro")

Despues tienes que leer el autonumerico asignado, esto usar un
dataReader con la siguiente consulta:
SELECT MAX(Id_Tabla1) FROM tabla1

para tener en .net el valor del Id asignado, y lo guardas en una
variable:
Dim Id1 as Integer = dataReader.GetInteger(0)
...

después para la tabla2:
INSERT INTO tabla2 (id_tabla1, campotabla2) VALUES (Id1,"vehiculo
carro1")
no hay que poner id_tabla2 porque es autonumerico

Preguntas similares