Best way to make this database?

%3CLINGO-SUB%20id%3D%22lingo-sub-2007704%22%20slang%3D%22en-US%22%3EBest%20way%20to%20make%20this%20database%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2007704%22%20slang%3D%22en-US%22%3E%3CP%3EWhat%20is%20the%20best%20way%20to%20create%20a%20database%20with%20information%20that%20will%20need%20to%20be%20updated%20multiple%20times%3F%3CBR%20%2F%3EBasically%2C%20I'm%20looking%20to%20create%20a%20database%20to%20track%20items%20for%20my%20company.%20I%20want%20to%20track%20when%20items%20are%20requested%20from%20our%20warehouse%2C%20when%20they're%20received%20from%20our%20warehouse%2C%20when%20they're%20shipped%20to%20a%20separate%20service%2C%20and%20when%20they're%20uploaded%20to%20the%20service.%26nbsp%3B%3CBR%20%2F%3E%3CBR%20%2F%3EMy%20initial%20idea%20was%20to%20have%20one%20table%20that%20can%20be%20updated%20through%20a%20form%2C%20but%20I%20think%20that%20is%20just%20going%20to%20cause%20more%20confusion%20than%20necessary.%26nbsp%3B%3CBR%20%2F%3E%3CBR%20%2F%3EI%20know%20it%20would%20probably%20be%20easier%20to%20do%20this%20through%20Excel%2C%20but%20I%20would%20like%20to%20have%20an%20entry%20form%20so%20that%20anybody%20in%20the%20company%20an%20utilize%20the%20database%20with%20minimal%20confusion.%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2007704%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EAccess%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2007822%22%20slang%3D%22en-US%22%3ERe%3A%20Best%20way%20to%20make%20this%20database%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2007822%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F832650%22%20target%3D%22_blank%22%3E%40Kwoolridge%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAccess%20is%20a%20development%20tool%20used%20to%20create%20relational%20database%20applications.%20One%20table%20is%20definitely%20not%20adequate%20nor%20appropriate%20for%20a%20relational%20database%20application.%20So%20we%20should%20start%20by%20looking%20at%20the%20three%20essential%20components%2C%20or%20layers%20of%20any%20relational%20database%20application.%3C%2FP%3E%3COL%3E%3CLI%3EThe%20Data%20layer%2C%20or%20Data%20tier.%20This%20is%20the%20component%20of%20any%20relational%20database%20application%20in%20which%20data%20is%20physically%20stored.%20This%20is%20made%20up%20of%20tables.%20The%20number%20of%20tables%20varies%20from%20situation%20to%20situation%2C%20but%20there%20is%20no%20case%20(that%20I%20can%20think%20of)%20where%20a%20single%20table%20could%20be%20called%20a%20relational%20database%20application.%20The%20relational%20part%20of%20the%20name%20comes%20from%20the%20fact%20that%20records%20in%20one%20table%20are%20%22related%22%20to%20records%20in%20one%20or%20more%20other%20tables.%26nbsp%3B%3C%2FLI%3E%3CLI%3EThe%20Interface%20layer%2C%20or%20Interface%20tier.%20These%20are%20the%20objects%20through%20which%20your%20users%20interact%20with%20the%20data--adding%20new%20records%2C%20updating%20existing%20records%2C%20filtering%20and%20selecting%20records%20for%20various%20purposes%20and%20so%20on.%20The%20two%20primary%20interface%20objects%20in%20a%20relational%20database%20application%20are%20the%20forms%20and%20reports.%3C%2FLI%3E%3CLI%3EThe%20Logic%20layer%2C%20or%20Logic%20tier.%20This%20is%20the%20code%20that%20automates%20various%20processes%20encountered%20in%20your%20database.%20It%20consists%20of%20VBA%20and%20macros.%20In%20Access%2C%20VBA%20and%20macros%20are%20two%20entirely%20distinct%20coding%20environments.%20In%20other%20Office%20applications%2C%20VBA%20and%20macro%20are%2C%20unfortunately%2C%20interchangeable%20names%20for%20the%20same%20thing.%26nbsp%3B%3C%2FLI%3E%3C%2FOL%3E%3CP%3ESo%2C%20step%20one%20is%20to%20identify%20each%20of%20the%20things%20you%20want%20to%20track.%20You%20have%20identified%20at%20least%20three%20in%20your%20opening%20question%3A%3C%2FP%3E%3CUL%3E%3CLI%3E%22Items%22%2C%20whatever%20that%20is.%20I%20assume%20products%20you%20produce%20or%20sell%3F%3C%2FLI%3E%3CLI%3E%22Warehouse%22%2C%20which%20apparently%20is%20a%20single%20location%3F%3C%2FLI%3E%3CLI%3E%22Service%22%2C%20again%20a%20generic%20term%20that%20could%20mean%20a%20lot%20of%20different%20things.%3C%2FLI%3E%3CLI%3E%22Shipping%22.%20This%20one%20may%20be%20a%20bit%20of%20a%20surprise%20to%20you%2C%20but%20it%20is%20%22a%20thing%22%20in%20the%20sense%20that%20each%20instance%20of%20shipping%20is%20a%20separate%20event%20of%20interest%20to%20you.%26nbsp%3B%3C%2FLI%3E%3C%2FUL%3E%3CP%3EI'm%20sure%20there%20will%20be%20others%20as%20you%20dig%20into%20the%20workings%20of%20your%20business%20rules.%20At%20this%20point%2C%20those%20four%20entities%20will%20be%20tracked%20in%20four%20tables%2C%20one%20for%20each.%20The%20RELATIONSHIPS%20between%20them%20are%20what%20differentiate%20a%20relational%20database%20from%20a%20group%20of%20lists.%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3BWarehouses%20STORE%20items.%3C%2FP%3E%3CP%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3BServices%20RECEIVE%20items.%3C%2FP%3E%3CP%3Eand%20so%20on.%3C%2FP%3E%3CP%3EI%20recommend%20you%20start%20by%20looking%20at%20the%20Northwinds%20sample%20relational%20database%20application.%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EIt%20does%20a%20lot%20of%20the%20things%20you%20need%2C%20plus%20many%20others.%20But%20looking%20at%20how%20it%20works%20should%20help%20you%20understand%20what%20you%20need%20to%20do%20when%20you%20create%20your%20own%20relational%20database%20application.%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22northwindtemplate.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F242158i900A5DA871B7F563%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22northwindtemplate.png%22%20alt%3D%22northwindtemplate.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E
Occasional Contributor

What is the best way to create a database with information that will need to be updated multiple times?
Basically, I'm looking to create a database to track items for my company. I want to track when items are requested from our warehouse, when they're received from our warehouse, when they're shipped to a separate service, and when they're uploaded to the service. 

My initial idea was to have one table that can be updated through a form, but I think that is just going to cause more confusion than necessary. 

I know it would probably be easier to do this through Excel, but I would like to have an entry form so that anybody in the company an utilize the database with minimal confusion. 

1 Reply

@Kwoolridge 

Access is a development tool used to create relational database applications. One table is definitely not adequate nor appropriate for a relational database application. So we should start by looking at the three essential components, or layers of any relational database application.

  1. The Data layer, or Data tier. This is the component of any relational database application in which data is physically stored. This is made up of tables. The number of tables varies from situation to situation, but there is no case (that I can think of) where a single table could be called a relational database application. The relational part of the name comes from the fact that records in one table are "related" to records in one or more other tables. 
  2. The Interface layer, or Interface tier. These are the objects through which your users interact with the data--adding new records, updating existing records, filtering and selecting records for various purposes and so on. The two primary interface objects in a relational database application are the forms and reports.
  3. The Logic layer, or Logic tier. This is the code that automates various processes encountered in your database. It consists of VBA and macros. In Access, VBA and macros are two entirely distinct coding environments. In other Office applications, VBA and macro are, unfortunately, interchangeable names for the same thing. 

So, step one is to identify each of the things you want to track. You have identified at least three in your opening question:

  • "Items", whatever that is. I assume products you produce or sell?
  • "Warehouse", which apparently is a single location?
  • "Service", again a generic term that could mean a lot of different things.
  • "Shipping". This one may be a bit of a surprise to you, but it is "a thing" in the sense that each instance of shipping is a separate event of interest to you. 

I'm sure there will be others as you dig into the workings of your business rules. At this point, those four entities will be tracked in four tables, one for each. The RELATIONSHIPS between them are what differentiate a relational database from a group of lists. 

     Warehouses STORE items.

     Services RECEIVE items.

and so on.

I recommend you start by looking at the Northwinds sample relational database application. 

 

It does a lot of the things you need, plus many others. But looking at how it works should help you understand what you need to do when you create your own relational database application.

northwindtemplate.png