Hi everyone. I've been trying to put together a project using Excel, and I really think Access is the better way to go. But I have very little knowledge of Access. The idea of the project is this:
There are a group of offices which transfer work between them. One office only transfers work out, and the rest all transfer to each other. There is also a transfer in process in each of the offices (apart from the first one which only transfers out), in which they confirm the number received. So I created the following tables:
TABLES
"Office" Table (which stores the names of the offices)
Unique ID (key)
Office Name
Records:
(offices)
“App Type” Table (which stores all of the App Types)
Unique ID (key)
App Name
Records:
(App types)
"Office Stock" Table (which keeps a record of the stock in each office) (one table for each office)
Unique ID (key)
App Type (taken from "App Type" table)
Number in Stock
"Transfers" Table (which stores records of all transfers between all offices)
Unique ID (key)
Source Office (taken from "Office" table)
Destination Office (taken from "Office" table)
App Type (taken from "App Type" table)
Volume Transferred
Consignment Number
Source Office Comments
Destination Office Comments
Volume Confirmed as Received
FORMS
"Transfer Out" form (one for each office)
The "Transfer Out" form would have these at the top:
Unique ID (key) (invisible)
Destination Office (taken from "Office" table)
Consignment Number
Source Office Comments
Below that, there would be:
Column A - a list of all of the App Types (taken from the "App Type" table)
Column B - the available number of each App Type (taken from the "Office Stock" table for this office)
Column C - the Volume to Transfer field (which must be equal to or less than “App Type Number Available”)
And then a button to confirm all outgoing transfers. This would then create one new record in the "Transfers" table for every App Type which had a number more than zero. It would also reduce the stock levels for those App Types in the current office's "Office Stock" table.
"Transfer In" form (which would take all data from "Transfers" table where the destination office matched this office)
The "Transfer In" form would retrieve all records from the "Transfers" table where the destination office matched this office, and would list them all with the following fields, where only the last two would be editable:
Unique ID (key)
Source Office (taken from "Office" table)
App Type (taken from "App Type" table)
Volume to Transfer
Consignment Number
Source Office Comments
Destination Office Comments (the "Destination Office Comments" and "Volume Received" fields would be the only editable ones)
Volume Received (the " Destination Office Comments" and "Volume Received" fields would be the only editable ones)
When an office confirms a transfer in, they enter a number in "Volume Received", and enter a new comment or overwrite the existing one in "Comments". The volume received then goes into the transfer record, and this office's stock is increased by the volume received.
The user can also enter a "Volume Received" number that is higher or lower than the "Volume to Transfer" number. In this situation, the current office's stock would still be increased by the "Volume Received", but it would also need to adjust the stock of the source office by whatever the difference was. So for example:
Office A has 10 Apps
Office A transfers 5 Apps, leaving 5 in stock
Office B actually receives 7 apps. Office B increases it's stock by 7, and reduces Office A's stock by 2
The user can also enter a different "Volume Received" figure to a figure that is already there (i.e. if they made a mistake earlier). In that situation, the stock levels of both source and destination would be modified accordingly.
I'm guessing I would need VBA functions to do these things, but I've only programmed in VBA for Excel, not for Access. So where would my starting point be?
Also, can I assume that Access would be able to handle multiple users (at different location and also at the same locations) at multiple offices making making multiple transfers at the same time? The idea is that the database would be on a network, which would be accessed nationally.