Making a Forms Application
 
 
Using the normalisation exercise for the Army, I created the necessary database tables and populated them with data. The scripts to do this are shown below. The second script includes a SELECT statement which should produce output similar to the original table of un-normalised data. You can also: If the scripts run correctly, you should see the output illustrated below.  



NAME       RANK       SERIAL_NO  COMPANY_NAME         REGIMENT_NAME        BATTALION_NAME       LOCATION
---------- ---------- ---------- -------------------- -------------------- -------------------- ----
AARON      PRIVATE    12345678   1ST RIFLE COMPANY    DEVONSHIRE AND DORSE 2ND BATTALION        BELFAST
BROOKS     SERGEANT   54321765   NO 7 COMPANY         COLDSTREAM GUARDS    1ST BATTALION        BASRA
KENDRICK   PRIVATE    45888789   HEADQUARTERS COMPANY COLDSTREAM GUARDS    1ST BATTALION        BASRA
KELLY      CORPORAL   25111643   HEADQUARTERS COMPANY COLDSTREAM GUARDS    1ST BATTALION        BASRA
KHAN       PRIVATE    77323289   3RD RIFLE COMPANY    COLDSTREAM GUARDS    2ND BATTALION        CATTERICK
MORRIS     CORPORAL   12126733   2ND RIFLE COMPANY    COLDSTREAM GUARDS    2ND BATTALION        CATTERICK
NUNN       PRIVATE    48446789   B COMPANY            QUEENS LANCASHIRE    1ST BATTALION        CYPRUS
WALL       PRIVATE    85744789   B COMPANY            QUEENS LANCASHIRE    1ST BATTALION        CYPRUS
WATERS     PRIVATE    99326789   HEADQUARTERS COMPANY QUEENS LANCASHIRE    1ST BATTALION        CYPRUS

9 rows selected.

Using the Wizards, I created a minimalist Forms application and used it to add another soldier - DOBBS - to the 1st Rifle Company, 2nd Battalion, Devonshire and Dorset Regiment.
 
We can immediately see it would be good to have the regiment, Battalion and Company names appearing on the Form, and so on.
 

To design the application, we consider the business processes which we want to support, and make a storyboard. It helps to sketch out what the screen should look like before you start.
 
I decided to have a main menu and three subsidiary screens:
  • Personnel screen - this will enable me to find a serving soldier, add a new recruit, discharge a soldier from the army, or transfer a soldier to a different company or regiment.
  • Tours - this screen will allow me to despatch a battalion to a field of operations, or return them to barracks.
  • Data maintenance, this is where I will add, delete or amend details of regiments, battalions and companies.

 
The application I produced is illustrated below and can be downloaded here. It is far from complete and there are many things I would do differently with hindsight. But I hope there are some things in the application which will help you.