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 |
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 |
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