Switchboard coding

P

PeterJC

i have a switchboard in Access2007. I want to increase (if possible) the
number of items allowed on a switchboard page. I've tried to do this by
setting the constant "conNumButtons" = to some number larger than 8, which is
the default setting in the code procedure "Private Sub Fill Options()". I
can find no other reference to the number of buttons on a page anywhere in
the code module for the switchboard.
However, when I try to open the switchboard, I get an error message: "MS
Access can't find the field 'Options9' referred to in your expression".
The line of code which will not run is:
Me("Option" & intOption).Visible = False, and this occurs in a For-Next
loop which cycles through the buttons from 2 to the number set by the
constant 'conNumButtons'. I can see no reason why the code needs to know
something about 'options9'.
Any ideas would be welcome!
 
F

fredg

i have a switchboard in Access2007. I want to increase (if possible) the
number of items allowed on a switchboard page. I've tried to do this by
setting the constant "conNumButtons" = to some number larger than 8, which is
the default setting in the code procedure "Private Sub Fill Options()". I
can find no other reference to the number of buttons on a page anywhere in
the code module for the switchboard.
However, when I try to open the switchboard, I get an error message: "MS
Access can't find the field 'Options9' referred to in your expression".
The line of code which will not run is:
Me("Option" & intOption).Visible = False, and this occurs in a For-Next
loop which cycles through the buttons from 2 to the number set by the
constant 'conNumButtons'. I can see no reason why the code needs to know
something about 'options9'.
Any ideas would be welcome!

Assuming that the Access 2007 switchboard manager works the same as in
previous version, adding a 9th or 10th etc. button is no problem,
however you cannot edit the extra buttons using the switchboard
manager. Any changes on those buttons will have to be done manually.

There are better methods of creating a switchboard, but if you wish to
modify the built-in switchboard here's how.
We'll add just one button.

In design view, select the 8th button. Copy it. Paste it.
Drag this new button and label and align it under the others.
Name this button "Option9".
Change the button's Click Event to:
=HandleButtonClick(9)

Rename the attached label
"OptionLabel9"
Change it's Click event to:
=HandleButtonClick(9)


Open the switchboard code window and change
Const conNumButtons = 8
to
Const conNumButtons = 9

Close the code window and save the changes.

Open the Switchboard Items table

Add a new record.
The actual data depends upon what you want the new button to do.
Let's say you wish to open a form for editing.

SwitchboardID = 1
Item Number = 9
Item Text = Open form whatever (this is the label text)
Command = 3 this is the constant number to open a form for editing)
Argument = frmWhatever (this is the actual name of the form)

Note: You can read the other available Command values in the
Switchboard's HandleButtonClick function code.

Add additional buttons using the same method.

Change SwitchboardID to whatever the actual Switchboard number is.

Again , you won't be able to use the manager to edit the additional
button. You'll need to do it directly in the Switchboard Items table.

A better solution would be to create your own switchboard using an
unbound form and command buttons. If you use the Command button wizard
to add the buttons, Access will even write most of the code for you.
You will have more control over the switchboard appearance,
functionality and usage. Plus you're not limited to the 8 buttons.
Maintenance will be much simpler.
 
P

PeterJC

Thanks, Fredg! That's very valuable information. I'll give making a custom
switchboard a try.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top