Using access and visual basic

A company has been using a program written in VB using Access tables for sales order processing. The data model they have is as follows.

Customer customer No (PK), customer name, address etc
Order order No (PK), customer name (FK), date
Order_line (order No, stock No) compound PK, quantity
Stock stock No (PK). Price, description

The software uses a datagrid attached to the orderline table for data input. This has the effect of changing the sequence of the lines of the order as they are entered, as keys provide unique checks as well as changing the sequence of the data.
They wish to have the system modified to prevent this change in sequence but are interested in two other ideas. They currently hold entire orders in the warehouse until stock is available to meet each line of each order. They would like the computer to be used to keep track of the stock level and also permit partial delivey. This means that if a company wanted 10 widgets and only 6 were available, then those 6 should be sent and another 4 sent at a alater date. If only 3 were available at a later date, these should be sent and then the last 1 widget at a later date.
The other idea is that customers should be able to change their order before it has been printed on a picking list for the warehouse staff, but not after it has been printed.

The question is

What changes need to be made to the above database definition in order to solve all the problem?

i just want your views about it, and how you would answer it, which changes need to be made to the above database definition in order to solve all the problem?

I'm not sure about the entire question, but it would be simple to keep track of how many still need to be shipped. Just change the instances of order No so that it subtracts the amount sent, and rewrites it's value to new amount needed to send. I'm not sure about the rest of it though.

thank you very much, please if you think of anything else, please let me know, at least i have something to write about. once again thanks

This article has been dead for over six months. Start a new discussion instead.