Ingresar varios registros iguales (con diferente ID), al poner un número en un campo

En base necesito agregar en un formulario un campo que al ingresar un número me genere esa cantidad de registros, solo diferenciados por el ID en la tabla.
Es para un inventario y la idea es el poder ingresar X artículos iguales sin tener que rellenar todas esas veces el formulario

Si alguien me puede ayudar con esto estaré muy agradecido.

No tengo claro lo que “realmente” quieres… si vas a ingresar X “cantidad”? de artículos “iguales”?, entonces esto es una entrada de almacén. ¿como tienes estructuradas tus tablas para esto?

Hola elmau, gracias por responder.

Estoy haciendo una base para inventariar los artículos de distintos lugares. Tengo simplemente dos tablas relacionadas, una con los lugares y otra con los artículos, ingresando datos desde un formulario.

El tema es que si quiero ingresar por ejemplo 10 sillas a un lugar, necesito llenar el formulario 10 veces.

La idea es si puedo poner un campo en el formulario que si le pongo 10 me ingrese 10 sillas cada una con su ID.

Es muy difícil saber lo que cada uno necesita exactamente, pero visto lo que cuentas, parece que el diseño de la base de datos no es muy correcto. En una base de datos no se debería repetir nunca un registro con todos los datos iguales y, bajo mi punto de vista, repetir varios registros que solo se diferencian en un id generado automáticamente es exactamente igual que tener varios registros repetidos.
Lo lógico, bajo mi punto de vista (y como he dicho, sin conocer exactamente la idea) sería poner un campo cantidad y listo.
Incluso, en el hipotético caso de que las sillas tuvieran, por ejemplo, un número se serie distinto, la solución no pasaría por repetir todos los datos de la silla, sino por hacer una tabla enlazada con los números de serie, pero los datos de la silla no se deben repetir.

1 Like

El tema es que es un inventario, donde cada artículo tiene su número que lo identifica, el cual es el Id en la tabla artículos.
Cuando yo tengo que agregar 10 artículos idénticos, a través de un formulario, debo completar 10 veces el mismo, poniendo por ejemplo:
Artículo: Silla
Detalle: común de consultorio
Marca-Modelo: -
Condición: Buena
Material: Madera
Sector: Administración
Servicio: Secretaría

Esto hace que con cada formulario se genere un registro de una silla con su número identificatorio por ejemplo: 125
126
127
128…134.
Como en todo inventario se necesita tener identificada cada silla, por lo que no me sirve el poner un campo cantidad. La idea es que al llenar el formulario, si voy a ingresar 10 sillas se le ponga un 10 en un campo y se generen los registros de la silla 125, 126…hasta la 134.

Bueno, entonces la respuesta es utilizar macros y sentencias SQL, en esencia:

  • Crear un formulario con los datos que se quieren repetir y el número de repeticiones
  • En una macro:
    • Obtienes los valores del formulario (también podrías obtenerlos más tarde)
    • Creas un bucle for…next para el número de repeticiones
    • En cada repetición del bucle tendrías que ejecutar un comando executeQuery con una sentencia SQL de inserción de los valores del registro obtenidos del formulario

Y listo… ¡ya lo tienes!

Definitivamente me parece mucho más fácil diseñar correctamente la base de datos y crear una tabla relacionada con el registro de la base de datos en la cual se añadan los números de identificación de las sillas

Inventario.odb (12,7 KB)

En la tabla NumIdentificacon podrías poner el Id como autonumérico, aunque creo que es mejor poder poner el número uno mismo y así valdría para aquellos elementos de inventario que tengan número de serie (bastante más efectivo que poner un número en una pegatina), y yo ya he puesto que el estado sea “Bueno” por defecto
[EDITADO] Evidentemente el diseño que te he presentado es un ejemplo rápido con el que pretendía mostrar la facilidad de hacerlo con dos tablas, pero una vez decidido desdoblar los datos en dos tablas, quizá interese que el Sector y el Servicio estén en la tabla NumIdentificación, por si algún día una sola silla cambia de localización…
Resumiendo, hacer una base de datos requiere algo de planificación y el diseño casi nunca coincide con el que tenían los datos en un listado de papel, ni siquiera en un listado de una hoja de cálculo…

1 Like

Si, también creo que es un mal diseño, el original que tiene el compañero, pero… cada quien puede trabajar de más, si lo desea. :grinning: