Ultima modifica 21 Marzo 2021 by Maurizio Matetich

Produco degli articoli che poi devo inserire in scatole da spedire. Gli articoli sono sempre diversi e per ogni articolo conosco quanti pezzi inserire in una scatola.

Ad esempio: dell’articolo ABC posso inserire 24 pezzi in ogni scatola. Se ho prodotto 127 pezzi quante scatole mi servono?

Per risolvere il problema posso utilizzare l’operatore MOD. Questo operatore permette di ottenere il resto di una divisione.

E’ necessario ricordarsi che, nella divisione, non è possibile dividere per zero

Soluzione: ho creato 3 campi

NrPezziPerScatola = indica quanti pezzi (al massimo) dell’articolo possono entrare in una scatola

NrPezziDaSpedire = indica i pezzi che ho prodotto e devo spedire con le scatole

NrScatole = è il numero di scatole necessarie per spedire gli articoli prodotti

Office online - calcolare il resto con l'operatore MOD

Quando inserisco il numero di pezzi da spedire, sull’evento “Dopo aggiornamento” aggiungo il seguente codice

Private Sub NrPezziDaSpedire_AfterUpdate()

Dim Resto As Integer

If Nz(Me. NrPezziPerScatola) > 0 Then

Me.NrScatole = Me.NrPezziDaSpedire / Me.NrPezziPerScatola

Resto = (Me.NrPezziDaSpedire) Mod (Me.NrPezziPerScatola)

MsgBox “Resto = ” & Resto

 

If Resto < Me.NrPezziPerScatola / 2 Then

Me.NrScatole = Me.NrScatole + 1

End If

Else

MsgBox “Attenzione: manca il numero di pezzi per scatola”

Me.NrScatole = 0

End If

End Sub

 

Spiegazione:

L’operatore MOD permette di ottenere il resto della divisione.

Se utilizzo dei numeri interi devo considerare l’arrotondamento, ovvero:

se il risultato della divisione è 9,6 verrà scritto 10

se il risultato della divisione è 9,4 verrà scritto 9 e quindi devo aumentare di una unità perchè non posso utilizzare solo una parte della scatola 🙂

Quindi quando divido i pezzi da spedire e il numero di pezzi per scatola devo considerare quanti pezzi rimangono come resto.

Se il resto è minore della metà del numero di pezzi per scatola allora devo aumentare di UNO il numero di scatole totali necessarie.

Se il resto è maggiore o uguale alla metà del numero di pezzi per scatola allora non devo fare alcunchè perchè il numero viene arrotondato automaticamente