it's looking really good.
suggestions:
Sales table:
- Serial Number and Engine number: do these refer to the Machine? if so, move these fields to the Machine table. since you have machine ID in the sales table you can look up the serial number and engine any time using the key. those fields are machine-specific, though (it seems), so they belong in the machine table.
- add an EmployeeID (unless you always know who is doing the selling)
- you should probably have a new table SalesLine (like ServiceLine) if a Sale can include more than one item (Sale:SalesLine is 1:N):
Sales
SalesID (PK)
CustomerID
Date
WorkOrder
EmployeeID
SalesLine
SalesLineID (PK)
SalesID (FK)
LineNum
MachineID
Quantity
etc
ServiceLine table
- add this table as described above, link with Service table
Jobs table
- ExpectedCompletionDate: move to the Service table
- Complete chkbox: remove (possible) - if you add a DateOut field or DateCompleted field you can see if a job is finished by checking to see if this field is null
- possible: add field Description
Other simple suggestions (maybe you already thought of):
- on your forms, for each ID field, change the Tab Stop property to No (on the Other Properties tab)
- Machine Details subform: hide the ID field (Visible: No); add a description to the dropdown combo (PartNumber and PartDescription) or even just the description (and ID)
- create a query for every form and combo box and use those as the row/record sources
- i just did what you suggested (add a job close/open) - very nice touch! you could use the Service table instead if you include a DateOut field and check for nulls; that way you don't have to enter the job twice (against normal forms). but perhaps you are simply creating a reminder for yourself, unrelated to the other business jobs, in which case, nevermind. maybe rename the table to Reminders.
((i guess the reason for using a DateOut field is to check just how late a job was, or, to check how long it actually took to finish a job. you can adjust your estimates accordingly. if you use the DateOut field you don't need the check box. either way.))
i think it's looking great.
w