Lo puedes hacer de muchas, pero que de muchas formas. Sería conveniente que concretaras más o añadieras alguna imagen. Por ejemplo, un modo bastante sencillo sin mucho código. Si tengo la tabla Pedidos
Construyo una tabla Aux como en la imagen
En este caso, el Idpedido es numérico no clave
Si en el formulario
Pulso el botón Ver etiquetas
Habría que saber como quieres las etiquetas. El origen del informe es esa tabla Aux que he creado.
El código del botón es
Private Sub Comando11_Click()
DoCmd.SetWarnings False
Dim i As Byte
For i = 1 To NCajas
DoCmd.RunSQL "insert into aux(idpedido,fechapedido,destinatario,paísdestinatario,numcaja)values(idpedido,fechapedido,destinatario,paísdestinatario," & i & " &"" de ""& [ncajas])"
Next
DoCmd.OpenReport "etiquetas pedidos", acPreview, , "idpedido=" & Me.IdPedido & ""
End Sub
Es decir, me crea tantos registros de ese destinatario como indica el valor que aparece en el control Ncajas. Luego me abre el informe.
Y en el evento Al cerrar del informe Etiquetas Pedidos le pongo
Docmd.setwarnings False
Docmd.runsql" delete * from Aux"
Es decir que una vez que haya visto o imprimido las etiquetas y cierre ese informe, me borre los registros de la tabla Aux para dejármela libre para otro Pedido.
Si quieres que las imprima directamente, en el código del botón sustituye Acpreview por AcNormal. Entonces lo de eliminar los registros deberías ponerlo en el código del botón a continuación de
Docmd.openreport...