Can someone explain how to select Multiple Values from an Access 2016 Combo box Control - forms

I have a combo box control on a form that allows me to choose one option only from a list of options.
I would like to be able to choose multiple options from this list(similar to how a drop down menu works on an access table field)
I know it is possible from a list box but this takes up a lot of room on my form because the list box must stay open.
It says in this article https://support.office.com/en-us/article/Use-a-list-that-stores-multiple-values-c8d15127-3641-45fc-aa2d-a3943d355e89 that its possible but I cannot get it to work. The article describes how it works under this heading "Understand the technology behind check-box drop-down lists and check box lists".

I use 2007, not 2016. Is multiselect combox something new? I haven't played with them yet.
Use right-click to change it to a List Box. Microsoft Access > Design Form > List Box. Property Sheet > Other tab > Multi Select = Extended. List0.ListCount = quantity of rows in listbox (read only)
List0.ItemData(0) = value of bound column in first row (read only).
List0.Column(0, 1) = value of first column in second row (read only).
List0.Column(1, List0 - 1) = value of second column in selected row (read only).
List0.RowSource = "Hello; World" (write only).

Related

How to create "Go To Next" record button in Access Form that references an alternate form

In my Access dB, I have a Form ("frmSearch") with a Subform ("subFrmData") that references a query ("qryDynamicData").
The Main Form has 6 drop downs that filter the data table in the Subform. The combo boxes are cascading so that once you select one, the entries that appear in the remaining combo boxes are only those entries in the query that correlate to the first selection. The goal is to keep making the data in the Subform data table shorter and shorter. Here are the fields in the combo boxes:
Region
Account Executive
Manager
Engineer
Stage
Project Number ("ProjectSLCT")
When the user filters down to where the list of projects they are looking at is small enough, they use the final combo box ("Project Number") to select an entry from the table. Doing this brings up another form ("MPC_ProjectNotes") as a pop-up form where they can keep track of project specifics. The event looks like this:
DoCmd.OpenForm "MPC_ProjectNotes", , , "Project_Number= '" & Me.ProjectSLCT.Value & "'"
I want to create a Next Record button on the "MPC_ProjectNotes" form that would in effect allow them to run through the steps of selecting the next item in the ProjectSLCT dropdown and thereby relaunching the MPC_ProjectNotes form with the next item from the combo box (and from the datasheet in "subFrmData") without having to close the MPC_ProjectNotes form and adjust the combo box.
Any thoughts? I don't really even know what to google to get myself pointed in the right direction on this. It seems "Next Buttons" aren't generally setup to work across forms.
Ok, here is what I would suggest:
In place of launching form MPC_ProjectNotes to ONE reocrd?
Why not launch the form with the SAME criteria and list as your combo box ProjectSLCT.
Now, we would of course land in the first reocrd of ProjectSLCT. but that's probably ok!
Now say if ProjectSLCT was NOT on the first record? Then we would simple have to add one extra step: move the form to the right record.
So, the logic is this:
Launch the 2nd form to the same "list" as the combo box.
Move the 2nd form to the SAME item currently selected in the combo box.
Now, you don't even have to write a next/previous button, but can simple display the built in navigation buttons. Since the form is LIMITED to the same list, then regular navigation in that form will work and work without you having to write any code!
So someplace in your first form, you EVENTUALLY wind up with this:
combobox data source = select * from tblWhoKnows where (CRITERA GOES HERE!!!).
So, now we simple launch the 2nd form with this:
DoCmd.OpenForm "MPC_ProjectNotes", , , (CRITERA GOES HERE!!!)
Now the form is loaded with the SAME list. We just this extra line of code to move/jump the form to the current selected row in the combo.
forms("MPC_ProjectNotes").RecordSet.FindFirst "Project_Number= '" & Me.ProjectSLCT.Value & "'"
So we open the form to the "list", and then jump to the corrent combo box selected. The result is a form that you can navagate teh combo list, but we jump/started out on the same combox selected item from that list in the form.
So the code will look something like this:
DoCmd.OpenForm "MPC_ProjectNotes", , , (CRITERA GOES HERE!!!)
Forms("MPC_ProjectNotes").RecordSet.FindFirst "Project_Number= '" & Me.ProjectSLCT.Value & "'"
You will of course "change" the above "CRITERA" to the SAME criteria you used in your code to fill out the last combo box.

Gravity Form->Select Field->Add Option

So Gravity List has a great option in its Drop Down User Interface that let's you add by typing a new option, kinda like an "other" option.
Gravity List Field-Drop Down Option
I want to do this with a normal Drop Down. Thoughts?
You can create a dropdown that is dynamically populated with taxonomy terms, including a term called "other".
When the "other" select option is chosen, conditional logic to a single line text field that will create a new taxonomy term on form submission.
On next use of the form, the dynamic list will have your new single line term too.
Keep using the "other" conditional route to add new options to select.

Remove "empty" selection from dropdown list box

When creating a form in Orbeon Form Builder, you can define a list of values for a dropdown list box.
When running the form in form runner, is it possible to remove the "[Select...]" value from this dropdown list box?
I would like to restrict the possible values only to the given ones and restricting the user from selecting an "[Select...]" value when filling in the form. I hope you understand what I mean :)
Here is a screenshot
It's not possible without changes to Orbeon Forms to remove the empty option.
The best way to achieve what you want is to make the field required. When that's the case, the user will have to select a value or validation won't pass.
(The rationale for adding/keeping an empty option at the top is to force the user to make a selection. Otherwise it is possible that users might not even look at the option selected by default, and involuntarily select an incorrect option.)

How to make one option of a listbox add data to a new field

I have a listbox in a Microsoft Access 2010 form. The listbox has several options and the last one is 'Other'.
When someone selects 'Other' I want the user to be able to type in their data and have it push that data into a different field. Note, I do not want the user to add new options to the listbox.
For instance if the list box was a field called 'Browsers' and my choices were: Internet Explorer, Firefox, Chrome, Other. When the person selects Other, I want them to be able to type in 'Safari' in a field in my database called 'Browsers_Other'.
I cannot seem to figure this out. It looks to be related to similar to 'Cascading Listbox' but I think it is different. I am wondering if I need to have the action open up a sub-form...
You can add a text box bound to the Browsers_Other field. I called my text box txtOther.
Then from the list box's After Update event, enable the text box when the list box selection is "Other". When the list box selection is anything else, disable the text box and set its value to Null.
Private Sub lstBrowser_AfterUpdate()
If Me.lstBrowser.value = "Other" Then
Me.txtOther.Enabled = True
Me.txtOther.SetFocus
Else
Me.cmdSave.SetFocus
Me.txtOther.Enabled = False
Me.txtOther.value = Null
End If
End Sub

Make a radio button in an infopath form "read only"?

I'm making an InfoPath form which is tied to an Access database. I have a set of radio buttons where the user selects the software name corresponding to the form, but I store this in my database as a number (1, 2, or 3). In another view, I want them to be able to see the previously entered software name, but not be able to change this. Here are the two options I've thought of:
Create some rule that does prevents the user from changing this data
This seems like the natural approach for what I want to do.
Add a text field with a function mapping each number to the corresponding software
As the form is tied to the database, InfoPath wants all fields to be tied to a database value, which would require creating another database entry. I'm also having trouble finding an InfoPath function I can use to handle this mapping.
Change the radio box's variable to text values and make a text box in the new view, which can be made read-only.
I'd really prefer not to do this, as it will make things messier for other programs using this database value and seems wasteful, but if nothing else works, this seems do-able.
Is there some sort of rule/method I could use to make this radio button control read-only?
You can use conditional formatting to disable any control (including radio buttons).
To set your control to always be disabled do the following:
Right click on your control and select Conditional Formatting...
Click Add...
In the leftmost dropdown select The expression
type true() in the text field (this tells InfoPath to always apply this formatting)
Check the Disable this control checkbox.
Click OK and OK.
Note: You will need to do this for each of your radio buttons.
Also, for future reference: If you simply want to display the result of a function (such as in your second solution) you don't need to use a text box. You can use an expression box. An expression box is not necessarily linked to a field in the datasorce, so you won't need an additional column in your database for it.