Page 1 of 2 12 LastLast
Results 1 to 15 of 20
  1. #1
    Silver Lounger
    Join Date
    Jun 2002
    Location
    Cheadle, Staffordshire
    Posts
    2,177
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Switchboard Advice (A2k)

    I'm looking for idea's on designing a switchboard.

    I'm not all together happy with the default tool from the menu and am looking for a different approach.
    I have many,many forms which most, are popups from main forms.
    I need to set out some catagories, which will lead to other forms which fall into there respective places.

    So Idea's more than anything is what I am requesting.
    If any members would like to send some screen dumps,links or small demo's (not that I want to steal any-ones idea's) to give me some inspiration.

    Has any member designed anything different, I would like to know.

    Thanks in haste

  2. #2
    Plutonium Lounger
    Join Date
    Dec 2000
    Location
    Sacramento, California, USA
    Posts
    16,775
    Thanks
    0
    Thanked 1 Time in 1 Post

    Re: Switchboard Advice (A2k)

    <hr>I'm not all together happy with the default tool from the menu <hr>
    Are you referring to the Switchboard Manager wizard? I actually like it and haven't had problems with it or with customizing the resulting form. One alternative would be tab pages on a form, which would give you a wizard-like interface. Another approach would be a treeview that allowed users to "drill-down" to the part of the program they needed. I've used the tab approach in the past, but never the treeview.
    Charlotte

  3. #3
    Plutonium Lounger
    Join Date
    Mar 2002
    Posts
    84,353
    Thanks
    0
    Thanked 29 Times in 29 Posts

    Re: Switchboard Advice (A2k)

    Another approach would be to use cascading combo boxes and/or list boxes. For instance, the first combo or list box selects categories; when the uses selects a category, the second combo or list box displays the names of the relevant forms or reports. This works well if you have a hierarchy with a fixed small number of levels. If you have a varying number of levels, the TreeView control mentioned by Charlotte will work better.

  4. #4
    Silver Lounger
    Join Date
    Jun 2002
    Location
    Cheadle, Staffordshire
    Posts
    2,177
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Re: Switchboard Advice (A2k)

    Thanks Charlotte & Hans.
    The default switch board manager I feel is not too efficient.
    I like my users to have more control via keyboard rather than mouse, SM fails at times causing the user to re-select from time to time.
    (Hans we discovered this a while back if you remember)

    Treeview ?

    Can you point me in that direction, and I'll test it out.

    Thanks again

  5. #5
    Super Moderator
    Join Date
    Aug 2001
    Location
    Evergreen, CO, USA
    Posts
    6,623
    Thanks
    3
    Thanked 60 Times in 60 Posts

    Re: Switchboard Advice (A2k)

    I'm not sure what you mean by "SM fails at time causing the user to re-select . . ." - I view the Switchboard Manager as primarily being a tool for the developer rather than the end user. You are correct in that it is mouse-centric rather than keyboard-centric, but it is possible to create something very similar to the Switchboard that can be driven by either the mouse or the keyboard - it is a bunch of development work however. The Treeview approach is also primarily mouse driven, though it does have some keyboard functionallity as well. The standard Microsoft Treeview (there are other companies that make them too) is an ActiveX control which comes with Office Developer, and learning to use it is not for the faint of heart. It works rather like the left-hand side of Windows Explorer if that makes any sense, but making it do it's tricks requires a substantial amount of VBA. In addition, for the MS Treeview, there are multiple versions that can get installed depending on what products you install on a given PC, and we've seen flakey problems with it when a database gets deployed to lots of users. If you want to read a bit more about it, check out the documentation that comes with Office Developer, and this MS KBase article.
    Wendell

  6. #6
    Plutonium Lounger
    Join Date
    Mar 2002
    Posts
    84,353
    Thanks
    0
    Thanked 29 Times in 29 Posts

    Re: Switchboard Advice (A2k)

    Dave,

    The switchboard as created by the Switchboard Manager is a robust, dependable way of letting users navigate through options. You can make it easy to operate with the keyboard: provide an accelerator key for each item by putting an ampersand & in front of the letter to be typed. Since the number of options in each switchboard page is limited (8 by default, but that can be changed easily), it should be possible to find distinct accelerator keys for each option in a switchboard page (they only need to be distinct within switchboard pages, not between them). Say you have a switchboard 4 levels deep, with 8 options per level, of which one is used to get back to the previous level. This provides the user with a maximum of 7^4 = 2401 options, each of which can be selected by pressing at most 4 keys on the keyboard. Now, is that keyboard-friendly or not?

    Some people (including you) find the default look of the Switchboard dull. As you discussed in this forum before, see <post#=228823>post 228823</post#>, it is possible to change this look - you can adapt fonts, colors, pictures etc. But you can get too fancy for your own good - in the thread I mentioned, you had On Got Focus and On Lost Focus handlers for the switchboard options to make them jump around; this interferes with normal operation and makes selecting items less dependable. In my opinion, a switchboard is a tool to let the user select an option efficiently; it should be unobtrusive.

    You have asked about treeview controls before in this forum (in February of this year and August of last year), and downloaded several demo databases. These should give you some ideas. But, as Wendell pointed out, treeviews have serious drawbacks:
    <UL><LI>They are not native Access controls. Users tend to have different versions of the ActiveX control and underlying DLL on their PC's, or the location in which they are installed may be different. This is bound to cause problems with missing references, invalid objects etc.
    <LI>Apart from setting some properties, there is almost nothing you can do with a treeview control in design view. You must do almost everything in VBA code, and the sort of code needed is far from trivial, without IntelliSense to help you.
    <LI>Treeviews can be controlled by the keyboard to some extent, but they are mostly mouse-oriented.[/list]

  7. #7
    Plutonium Lounger
    Join Date
    Dec 2000
    Location
    Sacramento, California, USA
    Posts
    16,775
    Thanks
    0
    Thanked 1 Time in 1 Post

    Re: Switchboard Advice (A2k)

    Dave,

    I don't know what you mean about the switchboard manager. I've never had problems with it "failing", but I don't try to change its basic behavior. I certainly have used switchboards with more than 8 items on a page but find them generally too busy. I've also created switchboards with additional controls, like comboboxes and option groups in addition to the regular buttons, but those were always single page switchboards. I dislike overly clever menus. A menu is a device for navigating an application, not for demonstrating how clever the developer is or for entertaining the users. Switchboards with too many options on any given screen are difficult to navigate, even if that's what the customer asks for. If you don't believe me, pop up the Windows programs menu on most machines and try to find something in it.
    Charlotte

  8. #8
    Silver Lounger
    Join Date
    Jun 2002
    Location
    Cheadle, Staffordshire
    Posts
    2,177
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Re: Switchboard Advice (A2k)

    Thanks all for the replies and advice.

    I know I've covered this ground before but wanted to be 100% sure of my User front end approach before I totally commited the design within my DB.
    I wouldn't have liked to have continued knowing there was another way of implementation.
    For now, the SM is working ok, albeit a little tweaking wouldn't go a mis.
    Truely greatful I am to you all for sharing your expertise and knowledge in this particular area.

    Have a good day all

  9. #9
    Silver Lounger
    Join Date
    Jun 2002
    Location
    Cheadle, Staffordshire
    Posts
    2,177
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Re: Switchboard Advice (A2k)

    Well, I've decided which way to go and it's with the standard Switchboard Manager.

    I've re-vamped from my earlier posting and come up with the design in the attachment.
    I wanted some kind of easy on the eye, but professional looking system as you can see.
    The image hasn't effected the size of the db too much and as it's the only embedded pic, I think I can get away with it.

    As you see, i have the Board name and the time showing over the image.
    There's also an unbound text field called txtDescription (Showing bbb-dummy text for the moment).
    In the Switchboard tabe, I ve added a field called Description, Now.

    I'd like the description to change each time the user presses the up-down keys to basically let the user know whats behind that particular area of switchboard.

    I thought I could get away with adding a line in the module:-

    Private Sub Form_Current()
    ' Update the caption and fill in the list of options.
    Me.Caption = Nz(Me![ItemText], "")
    Me.txtMenuName = Nz(Me![ItemText], "")
    FillOptions
    End Sub

    To this, but the text doesn't change:-

    Private Sub Form_Current()
    ' Update the caption and fill in the list of options.
    Me.Caption = Nz(Me![ItemText], "")
    Me.txtMenuName = Nz(Me![ItemText], "")
    Me.txtDescription = Nz(Me![Description], "")
    FillOptions
    End Sub

    Can you point me in the right direction.

    I had to change the attachment to GIF so sorry for pic clarity.
    Attached Files Attached Files

  10. #10
    Plutonium Lounger
    Join Date
    Mar 2002
    Posts
    84,353
    Thanks
    0
    Thanked 29 Times in 29 Posts

    Re: Switchboard Advice (A2k)

    The OnCurrent event occurs when you switch to a different Switchboard page. You want something to happen when the user selects another button, i.e. in the On Enter or On Got Focus event of the command buttons Option1 to Option8 (or whatever your maximum number is.)

    Put the following function in the form module:

    Private Function OptionEnter(intBtn As Integer)
    txtDescription = DLookup("Description", "Switchboard Items", _
    "[SwitchboardID]=" & Me![SwitchboardID] & " AND [ItemNumber]=" & intBtn)
    End Function

    In the On Enter (or On Got Focus) event of Option1, type =OptionEnter(1).
    In the On Enter (or On Got Focus) event of Option2, type =OptionEnter(2).
    Etcetera.

    Note: it might be better to have a label instead of a text box to show the description; after all, you don't want the user to type in it. You could create a label lblDescription and change the code in the function to lblDescription.Caption = DLookup(...)

  11. #11
    Plutonium Lounger
    Join Date
    Mar 2002
    Posts
    84,353
    Thanks
    0
    Thanked 29 Times in 29 Posts

    Re: Switchboard Advice (A2k)

    Follow up: I just realized that you probably have code in the On Enter or On Got Focus events already, to make the buttons and option labels jump through their hoops. If so, just put the expression =OptionEnter(..) in the one not used.

  12. #12
    Plutonium Lounger
    Join Date
    Dec 2000
    Location
    Sacramento, California, USA
    Posts
    16,775
    Thanks
    0
    Thanked 1 Time in 1 Post

    Re: Switchboard Advice (A2k)

    Just in case you ever want to try the TreeView and ListView route, There is an article on that in June 2003 issue of Access-VB-SQL Advisor magazine (http://www.advisor.com)
    Charlotte

  13. #13
    Silver Lounger
    Join Date
    Jun 2002
    Location
    Cheadle, Staffordshire
    Posts
    2,177
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Re: Switchboard Advice (A2k)

    Thanks Hans for the code.

    I couldn't use the code as you set out because all property items, on focus etc were already being used.

    I changed one of the modules already behind the form as follows:

    Private Function HandleGotFocus(intBtn As Integer)
    Dim intLeft As Integer
    Me("Option" & intBtn).Transparent = False
    intLeft = 2# * 1300
    If intBtn > 15 Then
    intLeft = intLeft + 3.6 * 1440
    End If
    Me("OptionLabel" & intBtn).Left = intLeft
    Me("OptionLabel" & intBtn).ForeColor = vbDWred
    '============================================
    txtDescription = DLookup("Description", "Switchboard Items", _
    "[SwitchboardID]=" & Me![SwitchboardID] & " AND [ItemNumber]=" & intBtn)
    '=============================================
    Me.Repaint
    End Function

    It works fine.

    Thanks Charlotte for the link, I am waiting for Temp password from Advisor so I can view the artical.
    (Some good stuff there <img src=/S/smile.gif border=0 alt=smile width=15 height=15>

  14. #14
    Silver Lounger
    Join Date
    Jun 2002
    Location
    Cheadle, Staffordshire
    Posts
    2,177
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Re: Switchboard Advice (A2k)

    On opening a form from the Switchboard Manager, I think from what I can see, is it uses the [Argument] field from the Switchboard Items table.
    This field contains the actual form name.

    On trying to use the tag property of the form to be opened to remember the form from which it was opened, I tried the following code:

    rs![Argument].tag = me[argument] which obviously doesn't work because of the syntax.

    So in a nutshell what I'm trying to achieve is.

    Open a form from the SB.
    The opened form tag contain the form which opened it ie "Switchboard".
    when closing the form, go back to the switchboard with setfocus.

    I think I've seen the Openargs discussed before and that may be another alternative.
    I don't understand openargs at all.

  15. #15
    Plutonium Lounger
    Join Date
    Mar 2002
    Posts
    84,353
    Thanks
    0
    Thanked 29 Times in 29 Posts

    Re: Switchboard Advice (A2k)

    If you don't close or hide the Switchboard, I don't see a reason for what you want to do. If you open FormA from the Switchboard, then close FormA, focus will automatically return to the Switchboard. If you close or hide the Switchboard when opening FormA, passing OpenArgs is useful to reopen or unhide the Switchboard, or whatever form opened FormA.

    OpenArgs is two closely related things:
    <UL><LI>It is an argument of DoCmd.OpenForm. You can use this argument to pass information to the form being opened.
    <LI>It is a property of a form that is only available in VBA. If the form is opened by a DoCmd.OpenForm instruction with an OpenArgs argument, the OpenArgs property of the form is set to the value of the OpenArgs argument. Otherwise, the OpenArgs argument is null (empty).[/list]You can use the OpenArgs property of FormA in the OnLoad or OnOpen event; I have found it to be unreliable later on. So you could declare a module-level variable at the top of the form module, set it in OnLoad, and use it later:

    Private varCalledFrom As Variant

    ...

    Private Sub Form_Load()
    varCalledFrom = Me.OpenArgs
    End Sub

    ...

    Private Sub Form_Close()
    If Not IsNull(varCalledFrom) Then
    Forms(varCalledFrom).Visible = True
    End If
    End Sub

    Note: in Access 2002 (and later versions, presumably), OpenArgs is also an argument of DoCmd.OpenReport and a property of a report.

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •