Duplicar registro tabla access según cantidad

Tengo una tabla que contiene un campo con un numero y quiero crear una nueva tabla de manera que ese registro se repita el numero de veces que aparece en este campo, ejemplo
tengo una tabla con los siguientes campos
Nombre apellidos identificación cantidad
Carlos lopez 152222 3
Pedro gomez 25648 2
Andres perez 4578 5
La nueva tabla debe quedar de la siguiente manera
nombre apellidos identificación cantidad
carlos lopez 152222 1
carlos lopez 152222 1
carlos lopez 152222 1
pedro gomez 25648 1
pedro gomez 25648 1
andres perez 4578 1
andres perez 4578 1
andres perez 4578 1
andres perez 4578 1
andres perez 4578 1
de antemano

1 respuesta

Respuesta
1
Dices "tengo una tabla que contiene un campo con un numero y quiero crear una nueva tabla", yo no crearía una nueva tabla sino que haría una consulta que te de los datos que quieres. Me explico, crearía una nueva tabla 'Cantidades' con un campo 'idcant', los valores de esta tabla sería 1,2,3,4... n donde n sería el máximo de la cantidad a poner en la tabla origen, entonces haría una consulta del estilo:
"Select nombre, apellidos, identificación, 1 as cantidad1 from Tabla1, Cantidades where cantidad <= idcant"
Y ya lo tienes.
¿Quede un poco perdido disculpe pues soy nuevo en esto
la nueva tabla en access debe tener solo una columna?
¿Y esa columna debe contener las cantidades de cada registro que quiero duplicar?
Si es así como ejecuto la consulta pues no soy muy experto y no se donde poner la expresión que usted me acaba de dar o si me puede indicar paso a paso como generarla seria lo mejor
Yo voy a estar conectado si quiere deme una hora y nos conectamos por msn ya lo intente hacer y no me sale no se que estoy haciendo mal
Tienes una tabla llamada Tabla1 con los campos:
Nombre, apellidos, identificación, ¿cantidad
vale?
Creas una tabla llamada, por ejemplo, Cantidades con UN SOLO CAMPO idcant, que tendrá los valores 1,2,3,4,5..., n dónde n es el valor máximo que puede valer cantidad de la tabla Tabla1
Abres una consulta nueva, entras en SQL y pegas lo siguiente:
Select nombre,apellidos, identificacion, 1 as cantidad1 from Tabla1, Cantidades where cantidad<=idcant;
Evidentemente, si los campos y tablas se llaman de otra forma tendrás que cambiar los nombres, y ya lo tienes. Más claro imposible.
No profe de verdad que pena ser tan bruto pero no me salio esto fue lo que yo hice:
1. Cree una tabla llamada Tabla1, solo con los siguientes campos para hacerla más sencilla: nombre, apellido, y cantidad. A nombre y apellido en el diseño de la tabla los deje como texto en tipo de dato y cantidad lo deje como tipo de campo numero. Y cuando la cerré me pregunto si quería dejar una llave principal y le dije que no
2. Cree una tabla llamada Cantidades con un solo campo llamado Idcant y en el mismo orden que en el campo cantidad de la primera tabla metí las cantidades en la segunda, y lo mismo que la anterior cuando me pregunto al cerrarla que siqueria poner llave principal le dije que no
3. Fui a consulta de diseño inserte las dos tablas y arrastrando el mouse relacioenes los campos cantidad de la primera tabla con Idcant de la segunda
4. Arrastre los cuatro campos de ambas tablas a la cuadricula de diseño: nombre, apellido, cantidad y Idcant
5. Entre al menu consulta luego a especificar SQL se abrió una ventana y con los mismos nombres que use para crear las tablas modifique el código que usted me dio cerré la ventana abrí la consulta y no hizo lo esperado
6. Si quiere conectemonos por msn si quiere apenas me explique me elimina deme un horario y yo puntualmente estaré allí yo soy de colombia usted me dice a que hora y de donde es y yo miro la diferencia horaria no se pero ayúdeme por favor
No uso el MSN, pero ¿por qué no haces lo que te digo?. El error te lo dio porque te falta el campo identificación en la tabla TABLA1.
1.- Crea un campo llamado identificación que, además, yo lo pondría como clave. Por facilitar hazlo autonumérico.
2.- Correcto, si quieres idcant ponlo de clave.
3,4,5,6.- Solo tienes que abrir diseño de consulta, no adjuntes tablas ni nada, entra en SQL y pega la consulta que yo te dí.
Además de Copiar y Pegar, si quieres aprender algo, debes pensar lo que estás haciendo, no solo limitarte a copiar lo que te dicen, sino a intentar comprender la solución que te den.
No nada lo hice tal cual y no da el resultado que es por que por ejemplo del primer registro que digamos por ejemplo que se llama carlos lopez y tiene cantidad 5 me lo deja al final con solo tres registros pues no por ultima opción no me podría enviar a mi correo un aplicativo sencillo que haga eso y yo lo estudio mi correo es [email protected]
Perdón >= no <=, prueba con esta select,
SELECT Tabla1.nombre, Tabla1.apellidos, Tabla1.identification, Cantidades.idcant, Tabla1.cantidad
FROM Tabla1, Cantidades
WHERE (((Tabla1.cantidad)>=[idcant]));
Crea las tablas con los nombres exactos, no tiene pierde hombre.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas