Cómo crear bucle de 8 repeticiones dentro de otro bucle

Estaba creando un pequeño código para crear los valores de dos campos ("balda" y "caja") de una tabla de access (alrededor de 300.000 registros) y no meterlos a mano. En cada estanteria habría 8 baldas, y en cada balda 8 cajas. Había creado un procedimiento para introducir en el campo "caja" valores que iban del 1 al 8 y que se repiten a lo largo de la tabla:

Dim i As Byte
Do Until mirecordset.EOF
    For i = 1 To 8
mirecordset!caja = i
mirecordset.Update
mirecordset.MoveNext
    Next
Loop

Esto lo hace bien, pero con mis limitados conocimientos de VBA, me lío cuando se trata de rellenar el segundo campo. Aquí la idea es que debe rellenar los 8 primeros registros con 1, los 8 siguientes con 2, ... Y así sucesivamente hasta llegar al 8. Aquí se reiniciaría la cuenta y de nuevo rellenaría los 8 siguientes con 1, etc. Hasta recorrer toda la tabla.

Entiendo que esto requiere crear dos bucles, pero por vueltas que le doy no acabo de ver como hacerlo

1 respuesta

Respuesta
2

No se si te refieres a tener una tabla

Con ella hago un formulario(continuo que se ve mejor)

Cuando pulso el botón

Me hace 64 registros (8 x 8)

El código del botón es

Private Sub Comando5_Click()
DoCmd.GoToRecord , , acFirst
Dim i As Byte, b As Byte
For i = 1 To 8
    For b = 1 To 8
    DoCmd.RunSQL "insert into tabla1(balda,caja)values(" & i & "," & b & ")"
    Next
Next
Me.Requery
End Sub

¡Gracias! El planteamiento era un poco diferente (tal vez no me explique del todo), pero el modelo de solución que me indicas me funciona perfectamente. En lugar de una sentencia SQL y requery, englobo los dos bucles For en un Do loop que me recorre toda la tabla creando esos valores y problema resuelto.

De nuevo muchas gracias, ya he entendido como dar uso a bucles anidados.

Un saludo

Carlos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas