MS Access Object Required Error on Combo Box Column - vba

I have a combo box in Access named StateID. It's rowsource contains two columns one is ID which is in Column 0 and another is description which is Column 1.
I want to populate the value of the ID column by doing something like:
StateID.Column(0) = rs("ID")
I made sure that the combobox is name StateID. The rs("ID") is also returning a value but my code breaks on the line above and I get
Object Required
error.
I alos tried Me.StateID.Column(0) and StateID.Column(0).value but I still get the same error

You cannot do "something like" that because the "Column" property is Read-Only, per Microsoft Access documentation; seems like this is your problem.

I dont' know why you don't assign the record source in design mode. Any way, in the Form Load event you can do this
StateID.RowSource = "SELECT codage,nomage FROM TheTable"

Well I just tried various things and doing it this way works:
With StateID
.ColumnCount = 2
.Value = rs("ID")
End With

Related

Getting a type mismatch but combo box still searches and displays data. ID column is being used to pull through Name but doesn't work

Error popup after click ok on type mismatch
I am using a combo box to search for records and it is telling me I have a type mismatch. I have been unable to find where this mismatch would be. The combo box still performs the desired function of selecting all records based on their "region"
I am using an ID field which is selected using the combo box but I want to pull through a name as well so I have input an unbound textbox and used VBA on change in the ID to update the name to the corresponding ID in the unbound textbox
Form
For privacy reasons I snipped around some of the other fields showing data.
The VBA in the on_change event in ID goes
Private Sub txtSupplierID_Change()
Me.txtSupplerName.Value = Table("tblSuppliers").SupplierName
Where Table("tblSuppliers").ID = txtSupplierID
End Sub
I'm aware this code could be very wrong but I could not find anywhere else that showed me how to do what I was trying to do. Any suggestions on how to actually do it would be appreciated. If I have not been as detailed as needed or yo have any questions please ask.
Edit for Clarification:
The form is not being used to save data. It is only being used to display data and issue an output to a report.
Code is not just wrong, it is nonsense. Cannot reference a table object like that. And that Where usage is not valid. One way to pull value from a table is with DLookup domain aggregate function. Advise use AfterUpdate instead of Change event.
Private Sub txtSupplierID_AfterUpdate()
Me.txtSupplerName.Value = DLookup("SupplierName", "tblSuppliers", "ID = " & txtSupplierID)
End Sub
Might want to correct textbox name from txtSupplerName to txtSupplierName.
However, should not save both supplier ID and supplier name into this table. There really should be no need for this VBA. Just put DLookup() expression in a textbox ControlSource. For other methods of pulling the supplier name to form, review answer in MS Access Identical Comboboxes for Autofill

Edit a field in record(s) selected from a listbox with a value from a combobox

I'm working on a way to keep track of the workflow of some paper forms in my office. So far, I have a form with a listbox that will display all incomplete paperwork. In order to keep track of where the physical paperwork moved, I would like to highlight the record(s) in the list and assign them to an employee -- editing the field "QCByName" in tblForms from its current value (most often blank) to the value selected in a combobox that's pulling the options from tblStaff.
Form with listbox and combobox selection:
I'm having trouble with the VBA code for the command button, though. I have a decent working example from an older database someone else designed but haven't been successful in adapting the code to my similar situation. This post seemed helpful, but I can't get it to work.
If I try to assign one row in the list box to someone, I get a run-time error:
3075: syntax error (missing operator) in query expression 'ID=15T362'
Where 15T362 is the FormNumber row I selected. The listbox is unbound, I think, but the primary key and first (hidden) field is the ID.
Here's the current code. Any ideas what I'm doing wrong? Many thanks.
Private Sub cmdAssigntoQC_Click()
Dim strSQL As String
Dim tblForms As Recordset
If IsNull(Combo5) Then
MsgBox "No Changes Made"
Else
strSQL = "SELECT * FROM [tblForms] WHERE ID=" & List0
Set tblForms = CurrentDb.OpenRecordset(strSQL)
tblForms.Edit
tblForms![QCByName] = Me.Combo5
tblForms.Update
tblForms.Close
Set tblForms = Nothing
Forms!frmOutstanding.L0Req
End If
End Sub
To pull value from selected listbox item, have to use Column property and reference column by its index, index begins with 0: Me.List0.Column(0)
Using Me. qualifier is not required but it will trigger intellisense tips.

Select combobox intem after bounded with SQL Query in Access

I have the following pair of combobox that are used for two inserts in two different access tables from a single form.
The problem I have is that I am not able to make anything else load the form is selected both in Name_OT and in Year the first value that contains corresponding combobox.
I think the solution is with:
Combobox1.Selected (0) = True 'First value
But the combobox goes blank, no text or anything appears.
Solved with this
Cuadro_combinado79 = Cuadro_combinado79.ItemData(0)
Cuadro_combinado85 = Cuadro_combinado85.ItemData(0)

How to use the value not displayed by a dropdown when connected to access database

My program uses a database in access which consists of BreedID and BreedName. I have a dropdown box in vb.net which shows the name for the user to select, however in my code I would like to store the ID related to that name so that I can send it over to the access database using oledb. Currently this is what it looks like:
Dim BrVar As String = Breed.SelectedItem.Text
But that isn't working! Please help!
You can add hidden columns to your dropdown box, it may already exist. The first column in a dropdown box is column(0) and you can set the width to 0cm. This can be for the ID value. Leaving column(1) for the Name value.
Then you can use Breed.SelectedItem.column(0)
The first thing to do is on the Data tab set up your rowsource to SELECT both the BreedID and BreedName fields (in that order). Then make sure bound column is set to 1.
Then on the Format tab set Column Count to 2 and Column Widths to 0;1.
That will have the result of displaying the BreedName field but using the BreedID field as the value of the combo box.
Use Dim BrVar As Long = Breed.SelectedItem to get the value of BreedID.

Access DoCmd.OpenForm Not Working

Looking for a second set of eyes to figure out my problem with an Access form filter. I created a search form, when filled in, appends search criteria to a string variable (strQuery) that is put in place to the [WhereCondition] for opening a form. However, when the script is ran, nothing comes up except for a filtered form with no records.
Here is the line that opens the form:
DoCmd.OpenForm "ADD_NEW_NCMR", , , strQuery
Before the line is ran, strQuery equals:
1=1 AND [NCMR].[NCMR_NUM] = '12-129'
The form name, and table.column combination are all correct. In fact, using the DCount function returns the result of 1, which is correct for this query, and returns the correct number for other queries as well. This makes me think that there is nothing wrong with the where condition.
DCount("[NCMR_NUM]", "NCMR", strQuery)
Check your form's Data Entry property. You can find it on the Data tab of the form's property sheet.
If Data Entry = Yes, the form will not display existing records.
Sounds like you want Data Entry = No, so that existing records which match your OpenForm WhereCondition will be displayed.