Hi Kerry
Mike's point about DISTINCT is possible. Since you are selecting against the table Business_Customers, I am hoping that there is only one customer per record.
However...
"This Recordset is not updateable"
... is only part of the decribed problem.
The other part, per another post ...
When detailed info is added to a subform on Form B and then a refresh button is clicked, no problem. However, if one of the fields on Form B is updated and then the refresh button is clicked, the Company name on Form B disappears--goes blank
I have seen this type action before where the control source and bound column don't match.
In review, let's look at your combo box Combo18
Control Source:
customer_id
Row Source: SELECT DISTINCT
services.customer_id, Business_Customers.OrganizationName
FROM
Business_Customers INNER JOIN
services ON
Business_Customers.[ADU_CustomerD Number] =
services.customer_id;
The three things not yet provided
- bound column
- number of columns
- column widths
You want to display the name of the customer, specifically,
Business_Customers.OrganizationName.
To make this comb box work properly,
CoundColumn: 1 (customer_id on form match the data type customer_id on Services table)
ColumnCount: 2 (customer_id and OrganizationName)
ColumnWidths: 0";1.2" (hide 1st column cusomter_id, so 2nd column OrganizationName is displayed. The important thing is 0" - zero width; the 1.2" could be 1" or 1.5" -- not too important for this excecise))
The fact that the OrganizationName disappears may be because it is expecting a customer_id as defined by the
ControlSource but the
BoundColumn from your SELECT statement is providing something different that is not compatable with the customer_id on the Services table. Since the returned data is not valid, a blank is displayed.
Now, if Customer_ID is required for the Service table (which seems important to me), the record can not be updated because there is nolonger a valid customer_id value on the form.
ColumnCount is important because if the number does match the columns in the SELECT statement for the RowSource, Access will get confused.
Why does
Refresh work -- the ControlSource for Combo18 is already valid and the Access will not try to reset the customer_id.
But when you enter "detail info" to the subform, you are some how triggering Combo18 to reload.
Another thing could also be happening as a result of the same action. Your "Form A" and "Form B" (subform?) have to be linked. I suspect
customer_id may play a role in the linking between the two forms. With no
customer_id, there can be no linkage between the forms. And what may be worse, you may be creating wacky / orphaned records (but I think you are safe here since I already stated that "customer_id" is probably required).
So, did I miss by a "country mile"?
Richard