Form with loads of buttons - ideas please

V

Vayse

Hi
I'm looking for ideas. I've just taken over a project.
The database layout is like this: There is a clients table, and 28 linked
tables.
Each of these tables covers a different aspect of the clients business.

At the moment, there is frmClient, with a tab control. The tab control has
28 tabs, each with a sub form. Each sub form is based on one of the tables.
This loads slowly, and also is near the max number of controls allowed on a
form.

I'm looking for a better way. A table redesign is out of the question, btw.
I'm definite I want to remove the subforms.

So far, here's what I thought of:
1) Add a menu system.
Group similiar forms (eg Sales, Overland Sales, Salesmen) together on a
menu, and user navigates this.
For example, user would click Menu->Sales->Salesmen
Not sure if this is a great idea though, as it would require a lot of
navigation by the user

2) Load of Buttons
Have 28 buttons.Each button opens a form.
I could use labels with an OnClick event, rather than command buttons, and
maybe group the buttons by colour?
28 seems like a lot of buttons though, could be difficult for the user to
find what he is looking for.

Its important to get this right, as we all know appearance is a big factor
for users.
If anyone has suggestions, I'd appreciate it. If you have done something
similiar, with a neat solution, and have a screenshot somewhere - please let
me know.

Thanks
Diarmuid
 
K

Klatuu

It is no suprise the form in it's current configuration loads slowly. If
there are 28 tabs each with a subform, it has to load all 28 recordsets.
I have a suggestion that will improve performance and be easy for the user
to navigate.

I would have one form and one subform control. In design mode of the form,
I would bind the subform control to the subform that is most commonly used.
I would add a combo box with a value list row source and create a list of all
the subforms the user will have access to. It would be a 2 column combo. In
one column would be the name of the subform to load. I would hide this
column The other would be a description the user would see and use to make
the selection.

Then, in the After Update of the combo, load the subform you want. Here is
some example code:

'This line loads the ChartOfAccounts sub form
Me.fsubTableEdit.SourceObject = "frmsubChartOfAccounts"

DoCmd.Maximize

'Here it sets the width of the subform control to accomodate the size of the
subform. You could also set height if necessary.

Me.fsubTableEdit.Width = 5616
 
V

Vayse

Thanks, interesting idea. In general, the subform link would be ClientID,
and I could set that through code where necessary.
 
K

Klatuu

Yes you could. You could set the Link Master Fields and Link Child Fields in
code when you change subforms.
The best part about this approach is load time. When a form has a lot of
code and/or a lot of data to load, it appears slow to the user.
 
Top