Crear n nuevos registros en tabla access 2007

La versión de Access con la que trabajo es la 2007.

Mi pregunta es la siguiente: ¿Existe alguna manera de que access cree en una tabla n registros dependiendo del número indicado en un campo de otra tabla?

Me explico un poco mejor, tengo una tabla de productos en la que uno de los campos es 'nº de unidades' y, necesitaría que dependiendo del número de unidades, 3 por ejemplo, se crearan 3 nuevos registros idénticos salvo el Id. En otra tabla llamada inventario, algo como esto:

Tabla producto:

Id. Producto - descripción - Unidades - precio - ...

00001 - tomates - 3 - 5 €

Tabla inventario:

Id. Inventario - descripción - Unidades - precio - ...
00001 - tomates - 1 - 5 €

00002 - tomates - 1 - 5 €

00003 - tomates - 1 - 5 €

1 respuesta

Respuesta
1



Función:

Function abc()
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("productos")
Do While Not rs.EOF
For i = 1 To rs!unidades
DoCmd.RunSQL "insert into contenedor (descripción, cantidad) values ('" & rs!descripción & "', 1)"
Next
rs.MoveNext
Loop
End Function

Tablas:

PRODUCTOS (contiene los registros)

Id AUTONUMÉRICO 1

Descripción TEXTO papas

Unidades INTEGER 5

En la tabla CONTENEDOR se agregara 5 veces el producto papa con la cantidad 1

CONTENEDOR (recibirá los registros según función)

Id AUTONUMÉRICO

Descripción TEXTO

Cantidad INTEGER

Ver imagen

https://docs.google.com/file/d/0ByItwD-82hgqTE56SExQa2ZDQzA/edit?usp=sharing

Gracias por tu rápida respuesta areal76. No he tenido ocasión de probarlo hasta ahora, y la verdad es que no me ha funcionado, no se si lo he hecho bien.

En access he abierto VB y he añadido un módulo, introduje el código que pusiste y ejecuté, pero no funciona. ¿Qué puedo haber hecho mal?

En este link

https://docs.google.com/file/d/0ByItwD-82hgqUU0xYzBSYnFKckk/edit?usp=sharing

Contiene un ejemplo real (base de datos ) con el código que ves en mi respuesta

Abrí el form EJECUTAR y hace clic en el botón EJECUTAR

Muchas gracias por tu ayuda Areal76, finalmente conseguí que funcionara. Gracias.

Aunque es el problema es que si se hace click de nuevo en el botón, añade todas las unidades de nuevo, por lo que tras probarlo con mis usuarios no puedo incluirlo, tendré que buscar otra fórmula para que introduzcan los datos.

Pero muchas gracias.

<div class="MessageTextContainer"><div class="MessageText">

Muchas gracias por tu ayuda Areal76, finalmente conseguí que funcionara. Gracias.

Aunque es el problema es que si se hace click de nuevo en el botón, añade todas las unidades de nuevo, por lo que tras probarlo con mis usuarios no puedo incluirlo, tendré que buscar otra fórmula para que introduzcan los datos. Pero como te digo ya es problema de los usuarios de la BD.

Muchas gracias.

</div></div>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas