scritto da | on | Nessun commento

Le scaffalature sono un sistema di stoccaggio economico e facilmente implementabile in un magazzino, quando il numero delle scaffalature aumenta si rende necessario mappare il magazzino assegnando un nome alle ubicazioni. Informaticamente avremo i seguenti elementi:
Scaffalatura: insieme di più scaffali (può essere chiamata anche corsia)
Scaffale: insieme di più ripiani (può essere chiamato anche campata)
Ripiano: Punto di appoggio di uno scaffale
Avremo quindi le seguenti tabelle:
Scaffalatura: Nome, numero scaffali, altezza scaffali,
Ubicazioni: Scaffalatura, Scaffale, Ripiano

Partendo dalle informazioni sulle scaffalature è possibile generare la tabella ubicazioni in questo modo:

Public Function CreaUbicazioni(NomeScaffale, Altezza As Integer, NumScaffali As Integer, TabellaUbicazioni, CampoScaffalatura, CampoScaffale, CampoRipiano)
Dim db As DAO.Database
Dim tabella As DAO.Recordset
Dim campo1 As DAO.Field
Dim campo2 As DAO.Field
Dim campo3 As DAO.Field
Set db = CurrentDb
Set tabella = db.OpenRecordset(TabellaUbicazioni, dbOpenDynaset)
Set campo1 = tabella.Fields(CampoScaffalatura)
Set campo2 = tabella.Fields(CampoScaffale)
Set campo3 = tabella.Fields(CampoRipiano)
For x = 1 To Altezza
    For t = 1 To NumScaffali
        tabella.AddNew
            campo1 = NomeScaffale
            campo2 = t
            campo3 = x
        tabella.Update
    Next t
Next x
tabella.Close
db.Close
End Function

Nel caso dobbiamo mappare un nuovo magazzino o una nuova area del magazzino partendo dalla tabella scaffali possiamo creare la mappa magazzino utilizzando la seguente procedura:

Private Sub MappaMagazzino()
Dim db As DAO.Database
Dim tabella As DAO.Recordset
Set db = CurrentDb
Set tabella = db.OpenRecordset("NOMETABELLA", dbOpenDynaset)
Do Until tabella.EOF
    Scafflatura = tabella.Fields("CAMPOSCAFFALATURA")
    Altezza = tabella.Fields("CAMPOALTEZZA")
    Scaffali = tabella.Fields("CAMPOSCAFFALI")
    CreaUbicazioni scaffalatura, Altezza, Scaffali, "Ubicazioni", "Scaffalatura", "Scaffale", "Ripiano"
    tabella.MoveNext
Loop
tabella.Close
db.Close
End Sub

Lascia un Commento

News