Forms :: Enabling Some Form Controls After Selecting From Combobox
Jan 27, 2014
I have combo box in a form. I want to enable (to highlight) some controls in the form after selecting any value from my combobox.
For example, There are three values in the combobox. And :
When I select value1, I want an unbound combobox1 to be enable (This combobox is synchronized with a bound combobox2). So when this unbound combo is enabled, its synchronized bound combo should also be enabled.
When I select value 2, it should do the similar action on a different unbound combobx3 (which is synchronized with a combobox4).
In my Patients table i have a field called PatientID (AUTONUMBER) as my primary key I hve another problem. Is this possible as i hve been trying for two days now. I hve tried a lot of ways but i cant get it to work right. I have a table called dependents. ID , PatientID,,Dependents,DOB,Age id being the PK AND PatientID as a number I have a table called vitals. with ID,PatientID,PatientName( which is a dropdown of Dependents), hpp,sats etc. (This is a subform in datasheet style in another form)
In my table vitals i have the follwing for PatientName . comboxbox.
SELECT Dependents.Dependents, DateDiff("yyyy",[DOB],Now())+Int(Format(Now(),"mmdd")<Format([DOB],"mmdd")) AS Age FROM Dependents;
So it selects fine in a dropdown like John 48, smith 36.
The problem i have is that it selcts all the records irrespective of PatientID.
I am using Access 2010. I wish to show or hide controls based on the value in the combobox. The combobox is bound with the data type Yes/No. If Yes, controls should be visible and if no, they are to be invisible. The database is a linked one. This selection should update all the users' forms.
The code I'm using should work, it doesn't, though similar code from a Text control does work. Basically, if someone selects "Other" I want [Chg_Type_Oth] to be Enabled and SetFocus.
The cmb_Chg_Type combo box, that stores into Chg_Type, has the following entries to select:
"Equipment New";"Equipment Modified";"Operator New";"Operator Move";"New Process / TTD";"Other";1
-I added "1" to see if that was the issue, but alas that didn't work either
Here is the code that isn't working (using two variations, just in case I was hitting an Access Wall, and the Select Case is purposely remarked out):
Private Sub Cmb_Chg_Type_AfterUpdate() ' Select Case Me.cmb_Chg_Type ' Case "Other" ' Me.Chg_Type_Oth.Enabled = True ' Me.Chg_Type_Oth.SetFocus
[Code] ....
Though this works fine from an ordinary text box:
Private Sub Chg_Name_AfterUpdate() If Me.ChangeName = "Other" Then Me.Chg_Type_Oth.Enabled = True Me.Chg_Type_Oth.SetFocus End If End Sub
Anyway, I'm expecting something obvious will show up...
I have a form where i select via a combo box if a product has been inspected, if it has, additional controls are then made visible.
If Me.Inspection_Completed = "Yes" Then Me.Date_Inspection_Comp.Visible = True Me.Date_Inspection_Comp = Me.Dateinsp Me.Inspector.Visible = True Me.Qty_Inspected.Visible = True Me.OK.Visible = True
[Code] ....
I tried to put this in a function so i could call it on load, or on current etc, but cant seem to get it to work, apparently you cannot use the me. in a function.
Folks, can someone help me on this? I am not sure why the select query inside this procedure is not working. Here is the that routine:
Public Sub temp() Dim strDocName As String Dim strTableName As String Dim strTbl As String Dim aot As Access.AccessObject Dim strSQL As String Dim rpt As Report Set rpt = CreateReport
strTbl = Forms!frmSearchBoilerGuar!cboTypeOfGuar
For Each aot In CurrentData.AllTables If aot.Name = "strTbl" Then strTableName = strTbl End If
Basically, I am trying to select a table name from the combobox and then use that table name for my query. Then I want to use that query as a recordsource for my report.
Firstly apologies for posting what is likely to a really simple problem and probably has been explored before. I have been looking through other treads but nothing that I could identify really fits the bill.
Essentially based on choices made against a combo-box, I wish to lock or hide combinations of fields/combo box within the form. Realistically I want to lock rather than hide.
All the fields/combo boxes in the form I want to effect are bound.
I can effectively do this as long as the fields/combo-boxes are unbound, but it seem to fail when they are bound.
Any assistance would be really helpful so thanks in advance.
I have an input form on which I have a combobox. The user can choose from the list of products. However, I want to use this input in a code and I need the productid to work with in the code. How can I arrange it that when the user selects, they can see the name of the product and the id (not necessarily), but once the input is chosen only the id serves as input and thus in my code I only use the id ( number)??? Stacey
Hi All, I am not sure if this is an easy one or not.. I have a field in a table named Stock_Alias. This field was originally set as a Number field. I have a combo box on a form, which contains the Stock_Alias numbers. When a number is selected, the remaining fields are shown in text boxes. I have had to change the Stock_Alias field to a memo, to incorporate Numbers & Characters. I cannot seem to hit on the right code to get the same results as i did when the field was a number field..
This was the code I was using to select the field as a number...
Private Sub Cmbo_Stock_Alias_AfterUpdate() Dim rs As Object Set rs = Me.Recordset.Clone rs.FindFirst "[Stock_Alias] = " & Str(Me![Cmbo_Stock_Alias]) Me.Bookmark = rs.Bookmark
I have a List Box in a table and it is set to permit multiple items selection from it .
The fact is I can select, as I wanted, multiple items from it through the Form but when I go to the correspondent table to see the results the selected data from the List Box isn't there .
Note all data selected from the List Box is visible trough the Form but not the table .
Has this problem anything to do with mismatch in data type configuration on the table ?
I want a form to default open in read only mode to avoid users deleting info. I want them to be able to edit the form by pressing a button. Does anyone know the VB code to run from a command button to do this.
I had never seen this before as I have recently moved from 2003 to 2010. When I create a from using the wizard sometimes the controls are grouped (inside a dashed square) which does not allow me to modify its size and/or position independently.
I have a form that uses VBA codes to write all the info from the controls in the form into different relational tables. I was stopped at the point that I wanted to have repeating controls. Collect multiple instances of the same type of data, such as in the case of writing many people's Name, Age and Specialty in the Employees table. How do I do that? What is the VBA code for this task?
Which option in property window is responsible for group lining up of some controls vertically? how to ungroup them to allow resize one individually. I could not also find option in menu for removing pre-formatting of those controls.
Is it possible to have a form and dependant on the security level of the user, will depend on what control will appear? Or can I have the controls there and lock them to a user?
I have a DB of staff directory and I want to lock it so users can only view information, supervisors can edit and admin have full control.
I've done it so far by creating a different form and controls for each level but it a lot of work and queries. Is there a simpler way to do it?
my form consited of 4 pages and controlled by query (joined 2 tables). I added a new table to the query and another page to the form . This page contains several controls (option, check boxes, combo boxes, text boxes) with source - fields of a new table added to the query. None of the controls on the new page respond.
I have a form (see attached) and every time someone goes to a different field I would like to change the border to red and when they leave that field to change the border back to the default color. I know I can put the code in for each fields got focus and lost focus section but would rather be able to put the code in once and for it to work for all the fields.
Private Sub Form_Current() If Date = Null Then Forms!getorder![Orders].Form.ProductID.Enabled = True Else Forms!getorder![Orders].Form.ProductID.Enabled = False End If
End Sub
getorder is a Form Orders is a Subforms
i want to do something that if i didn't entered a text in a date field hole subforms or Product id will be Disable
but if any texts enterd in Date Field it will be Enabled
I have a form where you enter a Case number (Primary key) and EmployeeID (foreign Key), the employeeID must match a employeeID held in the employee table. Within this Case form, I have a subform called Account which has an autonumber Primary key called accountID. Each of these accounts will have a questionnaire. So I created the questions in the same table (account). So Q1, Q2, Q3 etc. which are Questions relating to each AccountID, one accountID can have one questionnaire.
What is working fine is I can enter an account NUMBER which is a field in my account table (which creates a new AccountID(autonumber)) and can happily check the checkbox, fill out the text fields move to the next record and the checkbox is unticked and text boxes are blank (default state) which is great as I want them to ready for new input (new accountnumber/id).
My problem is assume I create my very first account number which would be say AccountID(0), I want all textboxes for the three questions disabled until the checkbox is ticked. So thats ok, I can put the default value of chkbox to FALSE, and in VBA I can do the on_checkbox_click, if chkbox.value = true then textbox1.enabled = true else textbox1.enabled = false. I can do that for the other two textboxes in the Chkbox click event.
When I Tick the checkbox it enables the textboxes, which is good, but when I create/move to the next record, instead of these textboxes being disabled as default, they are enabled because i ticked the chkbox for the first record. I dont want the manipulation of one AccountsIDs questionnaire to affects the other records. If I add an unbound textbox which I want to display a message if the chkbox is ticked, then if I tick it on one record, it has the displayed message on all records. How can this be if each questionnaire is independently i.e each questionnaire is for ONE accountID.
It seems the textboxes etc are not unique to each accountID but they should be because they are in the Account table and when I enter values and use the checkboxes without doing the disabling or showing a textbox comment, they are separate and work great, but when I use my code to manipulate the flow of a questionnaire for each account i.e enabling textbox/showing textbox comment, it changes the formatting on the other records questionnaire which I don't want as each questionnaire will be different, so a chkbox may enable a question on one ID but not on another as it wont be relevant, so at the moment I only have ONE truly working questionnaire which works for ONE account , but I want it to work uniquely for each account.
I am trying to provide a visual highlight for users of a multi tabbed form. I do a check as users go from tab and tab and i.e. on exit event and I would like to highlight all mandatory fields that have been left incomplete.
I did a test with one control and it worked as expected with the after update event of the specific control.
I then altered the code to add another control, but it does not work as expected. It only highlights one control and not the other. I just recently started using vba, I adapt the code to fit multiple controls and make it work as expected.
Private Sub Ctl2_frm_tab1_Exit(Cancel As Integer) If (Len(Form_2.cmb_arName& "") = 0 Or IsNull(Form_2.cmb_arName)) Or _ (Len(Form_2.cmb_val & "") = 0 Or IsNull(Form_2.cmb_val)) Then Cancel = True MsgBox "Please complete the highlighted control", vbCritical + vbOKOnly
I have an unbound form with 2 tabbed Controls on it.On the first Tabbed Control my command button code works but not for the 2nd tabbed control. Although the command buttons themselves work as far as going to the appropriate record.
What I mean by this is that I use code to enable/disable the command buttons depending on what record you are on.
Example: If there is only 2 record, the other command buttons will be disabled, Do I have to refer to the Tab Control ?
I wish having only one record display in a continuous form, after an "On Click" event. The database in which this question lies is attached.
On opening, the user first interacts with Table 1 (Continuous Form), then by clicking on ID on the details for that particular record appear.
What I would like to do is: When the user clicks on ID, only that record whose ID has been clicked on displays first on the continuous form, and then the PERSONAL form opens. To clarify further, my wish is that the sequence of events is:
User Opens Table 1 Form
User Clicks on ID (for example, let's take 2)
Only Record with ID 2 remains on the Continuous form.
Then details for record 2 display on the Personal Form that opens next.
The problem I currently have is with step number 3 above.
What's the best way to lock down form controls after the user has entered data into them? I will have a button that reads "Save Record" that will make it so the records cannot be accidentally (or intentionally) changed after the button is clicked.
Table has Checkbox column BusinessDate column (mm/dd/yyyy format) OrderTotal column (in dollars) There are others but these are the relevant ones
In the header of the form I have a calculated control box with the following control:
=Sum(Abs(nz([Checkbox],0))*nz([OrderTotal],0)),0)
Which works just fine. The user is presented with a list of all the orders from this table in the form. They check the checkboxes and the control in the header shows the total of the records checked. I need to make 7 of these calculated controls, one for each day of the week. Is this possible? This way the user can see the order totals for each day of the week they have selected.
I tried: =IIf(Weekday([BusinessDate])=2,Sum(Abs(nz([Pull],0))*nz([OrderTotal],0)),0)
but it still sums up the whole week as the expression holds true.I do not know VB, and I'm sure there is a really neat and easy way to do it in there. I just don't know how.