As Rathinagiri said, you should separate GUI from data management.
To achieve that, the best way to go, is to use server stored procedures. In such way, your HMG app, will not include data handling commands at all, but calls to server procedures only.
This will give your application nearly the same performance, running data server locally or from the other side of the world via the Internet.
Besides that, maintenance becomes extremely easy, compared with the traditional (old) programming model (data management and GUI together).
If you add to this, automatic client application updates, your life as a programmer will be significantly improved.
And... if you prefer to continue with dbf files, NETIO server is a wonderful alternative. It works like a charm.
You will also need USER management in order to manage authorizations for INSERT, UPDATE, ...
Think about Payroll: you don't want to let everybody see the SALARY of the CEO and then modify it.
Think about fraude and security...
Think about database normalization...
This is a very large project/application and you first need databasemodel.
When this is done wrong you get: garbage in==garbage out.
Now, let me show you development progress as today as follows:.
1) Dataentry ready for Man-Basic, Man-Background, Man-Bio. Hope you will find no serious errors.
2) New progs added.
3) Master Tables and Transaction Tables added for preparation.
4) NOTE for beginners: From this progress we can learn 3 kind of windows-for-input: Browse, Grid konvensional programming, Grid generated with IDE.
5) Next, we will no longer using Browse to handle with Man-Basic because it'is week in input-control. But the routines is useful for Admin just in case in need to recover data from "backdoor".
6) Next week I will provide option to send output/export to MS-EXCEL in case users still need worksheet as report or anything else.
That's all for today. any advice and help is highly appreciated..... Thanks
In the case that you want to start with a simple design and later make the changes to evolve towards a client/server scheme, my advice is that you do a little effort now, to save hundreds of programming hours in the future.
I mean: You could use dbf files with standard commands on your app, but you should 'encapsulate' data handling in functions, that could be easily changed without impact your client application.
Imagine that you are working in an append data form, then: