473,396 Members | 1,970 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Advice on Tables & Relationships in Access 2010

4
Good evening all.

I'm a big Access noob and I'm putting together a little Database to plan transport runs. I've been pondering this for a while now, and I still can't decide the best way to handle the information. Essentially any customer can place numerous orders, and each delivery vehicle will carry numerous orders on its delivery run, but obviously each order can only be delivered on one van to one customer. My tables and relationships are currently these:



Currently the user selects a delivery date when the Order Record is created. A Transport Planner then filters the Order Table by Delivery Date and assigns Delivery Vehicles and Drop Numbers to individual Orders to "create" each delivery run. This is all done via a Form so the user is kept away from datasheet views, etc.

The scope of the database isn't huge - we deliver no more than 7 or 8 orders per delivery van, and we only have 5 vans.

My head is telling me that I should have a Delivery Run Table which would contain:

Delivery Run No (PK)
Delivery Date
Job Number -> From the Order Table
Registration -> From the Vehicle Table
Driver Id -> From an as-yet-uncreated Drivers Table

amongst other things, to better manage individual delivery runs. It strikes me as being both logically and theoretically best practice to store the information in this way, but I can't think of the best way to implement it.

The original user must specify a delivery date upon creation of the order, as this delivery date drives all processes before it, including manufacture. I can't picture a way that this can still happen but the table above could be created/implemented. I think I could programmatically create the delivery runs if the Delivery Date stays in the Order Table (by the user filtering by Date, assigning vehicles and then clicking a "Create Runs" button that creates the new Delivery Run records by looping through each job on the specified date, and grouping them by Delivery Vehicle). However this takes the Delivery Date variable away from the Delivery Run Table, which doesn't seem right to me.

Any advice would be appreciated!
Apr 11 '12 #1
5 3547
NeoPa
32,556 Expert Mod 16PB
This is more of a design question rather than a technical one (so I see this as being mainly your responsibility - presumably what you're being paid for), however, the question is pretty well asked, which is always a bonus, so I would comment that you really do need to ask yourself the question about what exactly drives what. This won't necessarily be easy to answer, but you must nevertheless, if you ever hope to come up with a workable solution (and be under no illusion, this is a problem that many have struggled with).

The main issue from my (very limited) perspective, is that you are considering storing the van as part of the Order data. That seems misplaced to me. The Transport Manager is not going to be entering orders so why have a Sales Clerk making that decision? Just a thought.

My main advice though, is to take a step back and, however complicated this may be, get yourself a very clear understanding of what goes where from what you know is ultimately required. I can tell you, that any effort put in at this stage will more than compensate you later. This is certainly the most important stage of the project. Good luck.
Apr 11 '12 #2
sliz
4
Hi, thanks for your time.

You're correct; it is a design issue, but unfortunately I'm not being paid for this!

Initially I had this small database set up so the Transport Manager could see each new Order created by the Sales Clerk (as the two were located in different offices). Within each new Order the SC would select the Delivery Date, and the Delivery Vehicle and Delivery Booked fields would default to "Unassigned" and "False". A sub-form displayed all "unbooked" orders, so the TM could arrange his delivery runs (using the filtering process mentioned above), assign a Vehicle and Drop Number to each Order, and declare it "Delivery Booked". This formed the basis of printing Run Sheets and Delivery Notes by the TM filtering filtering the Order Table by Delivery Date and then by Vehicle.

However, our TM has now left the company. I further developed the database to use the Google Static Maps API to plot all the drops for any given day on a map, to help both the SC and the interim TM who could look at each day's jobs group them geographically using the following Form:



edit - it appears the picture doesn't work - here is the direct link - http://i.imgur.com/qeuGB.png

I then went a step further by writing a routine that lets the user find the optimal delivery order but passing the postcodes of each Delivery Date/Vehicle combination into the Google Directions API.

Unfortunately, some error in my VBA led to Access deleting my project. I do have a backup, but I thought I'd take this opportunity to start again from scratch and try and redesign my database correctly.
Apr 12 '12 #3
sliz
4
I guess my main query is to how best implement the SC needing to define the Delivery Date when creating the order, but then somehow integrating this to use the (not-yet-created) Delivery Runs table.
Apr 12 '12 #4
NeoPa
32,556 Expert Mod 16PB
I'm afraid to help with that would involve a lot more time and effort understanding where you're coming from than I like to devote to a single question. That, and my previous comment about the design being down to you. We can generally help with specific technical questions, but design choices, other than very basic conceptual ideas, rarely fit within that category. I'm sure when you've managed to handle that overall question you'll have a good appreciation of how much it entails. Not typically something you can handle in a few minutes.

Best of luck anyway.
Apr 15 '12 #5
sliz
4
I understand - thanks for your response.

I'll be sure to let you know how I get on!
Apr 15 '12 #6

Sign in to post your reply or Sign up for a free account.

Similar topics

1
by: cricket7 | last post by:
I think I figured out my tables and relationships. Tables: Table 1 tblTowedVehicles fldTowID fldReportDate fldReportTime fldlReportNumber
1
by: phill86 | last post by:
Hi, I have an access 2010 database that I want to convert to an SQL Server database and I need to know if the data macros in access will still work in the SQL database or will i have to create...
5
by: jaad | last post by:
Hello, I have a database that was written in access 2007 on my pc. I wanted to work off site with the database so I uploaded it onto my laptop which is loaded with access 2010 beta. When I...
2
by: sierra7 | last post by:
It seems Access 2010 is associating an 'input mask' or field type with a combo box when a form is opened, even though there is no Format setting on the control. I have a form which has been...
2
by: dougancil | last post by:
I have a user who had deleted some records from a database today using Access 2010. They have an ID field that's autonumbered. They have No Duplicates allowed. When they created a new record today,...
0
by: Andolino | last post by:
In Access 2010 I get a Write Conflict error - "This record has been changed by another user..." In Access 2007 this Code is working - why? Private Sub Form_BeforeUpdate(Cancel As Integer) Dim...
1
by: Alan Yim | last post by:
Hi folks, My company recently upgraded our Office suite from 2003 to 2010. The problem in particular is with an Access database that was originally designed in Access 2003. The code in question...
2
by: Bill Boord | last post by:
I need to be able to shut off the AutoCorrect "feature" within Access 2010 code. I have utilized Application.SetOption with method strings for other startup requirements, but I cannot seem to find a...
1
dsatino
by: dsatino | last post by:
I have numerous applications built in Access 2000/2003 that all use ODBCdirect workspaces to access various non-Access databases. Unfortunately, ODBCdirect is 'no longer supported'in Access 2010 and...
1
by: Music Man | last post by:
Greetings All: I built a database in Microsoft SQL Server 2000 and used Microsoft Access 2010 as the front end. The database is used to keep track of "issues" that rise out of my employment. ...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.