Salve a tutti, mi scuso per il ritardo nella risposta, di seguito espongo il codice con cui ho risolto il problema, in questo modo funziona perfettamente, stampo le etichette numerate secondo il numero di scatole previste con eticche a doppia pista, sicuramente
ci saranno sistemi migliori ma funziona:
Private Sub cmdEtichettaProduzione_Click()
'stampa etichette piccola per produzione
On Error GoTo myErr
Dim strEtichette, strFiltro As String
Dim intTotalBox As Integer
Dim intNrCopie As Integer
Dim i As Integer
Dim intNeutre As Integer
strEtichette = "EtichettaProduzione"
strFiltro = "nrodl=forms!odl!nrodl"
Me.AllowEdits = True
'salva il record corrente prima di aprire il report
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
DoCmd.OpenReport strEtichette, acPreview, , strFiltro
intTotalBox = Me.Quantity / Me.PzXCollo
intNrCopie = intTotalBox / 2
intNeutre = Round(intNrCopie * 10 / 100) + 1
intNrCopie = intNrCopie + intNeutre
intTotalBox = intNrCopie * 2
'Stampa le etichette non numerate 10% del totale
Reports!EtichettaProduzione!txtContatore1 = ""
Reports!EtichettaProduzione!txtContatore2 = ""
DoCmd.PrintOut , , , , intNeutre
'Stampa le etichette numerate il 10% in piu' dell'ordine
Reports!EtichettaProduzione!txtContatore1 = intTotalBox + 1
Reports!EtichettaProduzione!txtContatore2 = intTotalBox + 2
For i = 1 To intNrCopie
Reports!EtichettaProduzione!txtContatore1 = Reports!EtichettaProduzione!txtContatore1 - 2
Reports!EtichettaProduzione!txtContatore2 = Reports!EtichettaProduzione!txtContatore2 - 2
DoCmd.PrintOut
Next i
DoCmd.Close acReport, "EtichettaProduzione"
myExit:
Exit Sub
myErr:
MsgBox Err.Description
Resume myExit
End Sub