Código para generar registros vacíos tabla

Necesitaría un código que llamado desde un formulario de access, genere un numero determinado de registros vacíos en una tabla. La tabla esta compuesta de muchos campos si/no y es para generar una plantilla para crear dibujos textiles. En el formulario seleccionaría la cantidad de registros a crear.

1 Respuesta

Respuesta
1

Añade un botón con este código:

Private Sub...

For i = 1 To 20
CurrentDb.Execute "INSERT INTO TuTabla(UnCampo) VALUES(False)"
Next i

End Sub

Sustituye TuTabla por el nombre de tu tabla y UnCampo por el nombre de uno de tus campos Sí/NO y el 20 por la cantidad de registros que quieras insertar.

gracias por tu rápida respuesta. lo he aplicado tal como esta escrito y me da "error de sintaxis en instrucción  INSERT INTO".

Yo lo probé en una de mis BDs, y funciona. El código que usé fue este:

Private Sub Comando0_Click()
For i = 1 To 20
CurrentDb.Execute "INSERT INTO Gastos2(Pagado) VALUES(False)"
Next i
End Sub

Si tu campo tiene espacios o caracteres "raros" en el nombre, escríbelo entre corchetes. Lo mismo con el nombre de tu tabla, a ver si va a estar ahí el error. Por ejemplo:

CurrentDb.Execute "INSERT INTO [Tabla Gastos]([Está pagado]) VALUES(False)"

hola de nuevo. lo he vuelto a probar pero cambiando el nombre de mi tabla ya que esta contenía espacios. La he renombrado sin espacios y me ha funcionado perfectamente. muchísimas gracias.

abusando ya un poco de tu paciencia y sabiduría te quisiera hacer otra consulta. se trata de que esta misma tabla tiene muchos campos ( 240 en total) de los cuales, al hacer el dibujo solo utilizo un número determinado de ellos pero muchos quedan vacíos. me interesaría que a la hora de imprimir solo se impriman los que conforman el dibujo y el resto de ellos que están vacíos, no se impriman, pero no todos los vacios sino todos lo que no formen parte del dibujo. por ejemplo si tengo un dibujo de 20 * 20 que no se impriman a partir del campo 21 hasta el 240. gracias de antemano.

¿Imprimes la tabla directamente o lo haces desde un informe o formulario?

Desde la tabla no tengo ni idea de cómo podría hacerse, desde un informe tengo alguna, pero tendría que hacer pruebas primero para confirmarlo...

A ver si mañana te puedo decir algo concreto.

la imprimo desde un formulario y en realidad lo que se imprime es un subformulario basado en esa tabla como una representación grafica en que los campos si/no se convierten en cuadrados pintados o en blanco mediante formato condicional. Así explicado resulta bastante difícil de comprender. si quieres te puedo enviar la Bd para que te hagas una mejor idea. saludos

Sí, poder ver la BD sería de ayuda, je je. Envíamela comprimida a:

[email protected]

Creo que tengo una posible solución. Si no te importa abrir una nueva pregunta con este tema, te estaré agradecido. En el título o la primera línea indica que va dirigida a mí, o recomiéndamela una vez la publiques.

he creado la pregunta nueva con tu recomendación, pero respecto a la pregunta original de este hilo me interesaría ampliar tu solución. el código que me diste perfectamente pero también me interesaría que ha la vez que genera los registros vacíos, (o después de crearlos), en un campo me vaya poniendo un número incremental progresivo osea que los numero del 1 al numero de registros que cree. yo lo he intentado pero me da error por todos lados.

saludos de nuevo

Dime en nombre de la tabla en la que quieres insertar los registros y desde qué formulario quieres hacerlo, y te digo algo en unos minutos.

el nombre de la tabla es "tabla dibujos temp" y el formulario es "panel de control" el campo de la tabla es "orden".

saludos.

En al BD que me pasaste no veo esta tabla, por lo que no te puedo asegurar que funcione al 100%, pues no sé su configuración. El código asociado al botón sería como éste:

For i = 1 To 20
CurrentDb.Execute "INSERT INTO [tabla dibujos temp](orden) VALUES(" & i & ")"
Next i

De esta forma te añadirá 20 registros y el campo orden te irá numerado del 1 al 20 cada vez que lo ejecutes. Ahora al trabajar con el campo orden, no te hace falta indicarle un campo Si/No

lo acabo de probar y funciona perfectamente. No tengo suficientes palabras de agradecimiento. eres un crack. !joder! con la de horas que me he pasado dándole vueltas. Muchísimas gracias.

respecto a la otra consulta lo probaré esta noche y ya te diré algo. (estoy en el trabajo y como me pillen me van a crujir).

saludos.

Quedo a la espera de la otra. Saludos. Svein.


http://nksvaccessolutions.com/Foro/ 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas