Solved

Disable all controls on a tab control except one dropdown on open

Posted on 2006-07-19
11
397 Views
Last Modified: 2008-09-03
I have a form with a tab control on it.  On open I would like to have everything on the tabctl disabled (if applicable) with only one combo box enabled.  thanks in advance
0
Comment
Question by:H-SC
  • 4
  • 3
  • 3
  • +1
11 Comments
 
LVL 65

Expert Comment

by:Jim Horn
ID: 17137989
The quick-and-dirty approach would be to mark them all as Enabled = No (Visible = No?) in Form Design, with your one combo box Visible = Yes, then save.  
That way, on open they're all disabled, and you can write code in your combo box's AfterUpdate event to make them Enabled = Yes.

Hope this helps.
-Jim
0
 
LVL 65

Accepted Solution

by:
rockiroads earned 125 total points
ID: 17138058
Way to do it in code is like this
I recommend putting it in a function so u can toggle


private sub EnableDisableControls(byval bEnable as boolean)

dim ctl as control

for each ctl in Me.Controls
    if ctl.ControlType = acTextBox or ctl.ControlType = acComboBox or ctl.ControlType = acListBox then
        if ctl.Name <> "mycombo" then
            ctl.Enabled = bEnable
        endif
    end if
next ctl

end sub


Now u call it passing in TRUE to enable, FALSE to disable

on your form_open, u can call this procedure passing in FALSE
   
0
 
LVL 1

Author Comment

by:H-SC
ID: 17138082
jim,

In most cases I do just that.  In this case, I would really like to have code that does the switch for all with the one exception.  This particular form has a ton of fields and controls on it thus... looking for some type of shortcut approach to this particular form.
0
U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

 
LVL 1

Author Comment

by:H-SC
ID: 17138106
rockiroads,

thanks,

I will try...
0
 
LVL 65

Expert Comment

by:rockiroads
ID: 17138127
In that code I only check for textboxes, listboxes and dropdowns

If u have other editable controls, ensure u add them in,
checkbox is acCheckBox

if u want command buttons disabled,  then its acCommandButton


Ensure u set  "mycombo"  to be the control name of your combo that u want always enabled
0
 
LVL 44

Expert Comment

by:Leigh Purvis
ID: 17138177
Well, if you're only wanting to disable controls on the tab then surely you'd have to consider it separately from Me.Controls

Something like

    Dim ctl As Control
    Dim intPages As Integer
   
    For intPages = 0 To Me.TabControl.Pages.Count - 1
        For Each ctl In Me.TabControl.Pages(intPages).Controls
            ctl.Enabled = False
        Next
    Next

Or to use Rocki's method with a small alteration

for each ctl in Me.Controls
    if ctl.ControlType = acTextBox or ctl.ControlType = acComboBox or ctl.ControlType = acListBox then
        if ctl.Name <> "mycombo" and ctl.Parent.Name = "TabControlName" then '<<---change here
            ctl.Enabled = bEnable
        endif
    end if
next ctl
0
 
LVL 1

Author Comment

by:H-SC
ID: 17138381
rockiroads,

that worked perfect !!

many thanks
0
 
LVL 65

Expert Comment

by:rockiroads
ID: 17150234
No probs
0
 
LVL 44

Expert Comment

by:Leigh Purvis
ID: 17150276
Were all the controls you have on that form on your tab anyway? :-p

(But you perhaps imagined that the tab control makes a difference - a bit like a subform perhaps?  I believe that is a common assumption).
0
 
LVL 65

Expert Comment

by:rockiroads
ID: 17150311
Leigh u up l8, I still aint recovered, still serious sore throat but at least no fever anymore but cant find a car :(
laters mate, bedtime!
0
 
LVL 44

Expert Comment

by:Leigh Purvis
ID: 17150334
Late?  This is where my day just gets going ;-)
Hours of work ahead of me yet :-D
0

Featured Post

Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Regardless of which version on MS Access you are using, one of the harder data-entry forms to create is one where most data from previous entries needs to be appended to new records, especially when there are numerous fields and records involved.  W…
A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …

773 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question