ACC: Cannot Change Combo Box Value If ControlSource Property Is Set to AutoNumber Field (95450)



The information in this article applies to:

  • Microsoft Access 1.0
  • Microsoft Access 1.1
  • Microsoft Access 2.0
  • Microsoft Access for Windows 95 7.0
  • Microsoft Access 97

This article was previously published under Q95450
Novice: Requires knowledge of the user interface on single-user computers.

SYMPTOMS

If the ControlSource property of a combo box is set to a field that has an AutoNumber data type (or Counter in versions 1.x and 2.0), when you try to change the value in the combo box, you receive the following message on the status bar:

In Microsoft Access 7.0 and 97

   Control can't be edited; it's bound to AutoNumber field <field
   name>.
				


In Microsoft Access 1.x and 2.0

   Control can't be edited; it's bound to Counter field <field name>.
				

CAUSE

The control source of a combo box is a table field where Microsoft Access writes your combo box selection. By design, modifications to an AutoNumber field are not allowed. Therefore, if the ControlSource property of a combo box is set to an AutoNumber field, Microsoft Access cannot update the value in the AutoNumber field; therefore, you cannot change the combo box value. Microsoft Access gives you the message to tell you why it cannot update the combo box control.

RESOLUTION

Either change the data type of the field in the ControlSource property of the combo box, or set the ControlSource property to a field that does not have an AutoNumber (or Counter) data type.

MORE INFORMATION

Steps to Reproduce Behavior


  1. Start Microsoft Access, and open the sample database Northwind.mdb (or NWIND.MDB in Microsoft Access 2.0 or earlier).
  2. Create a new table called MyTest:
          Table: MyTest
          ------------------------
          Field Name: MyAutoNumber
             Data Type: AutoNumber (or Counter in Microsoft Access 1.x and 2.0)
          Field Name: MyData
             Data Type: Number
          Field Name: MyBucket
             Date Type: Number
    						
  3. Open the MyTest table in Datasheet view and enter a few records by typing numeric values in the MyData field. Note that Microsoft Access automatically fills in the MyAutoNumber field and puts zeroes in the MyBucket field as you type values in the MyData field.
  4. Create a new blank form in Design view based on the MyTest table.
  5. Add a combo box to the form and set the following properties:
          Combo Box:
             ControlSource: MyAutoNumber
             RowSource: MyTest
    						
  6. Switch the form to Form view. Note that the combo box values are the sequential numbers coming from the MyAutoNumber field.
  7. In the combo box list, try to select a new value. Note that you receive the error message on the status bar, and the value in the combo box does not change.
  8. Switch back to Design view and change the combo box ControlSource property from MyAutoNumber to MyBucket.
  9. Switch back to Form view and repeat step 7. Note that now you can select items from the combo box. If you look at the contents of the table, you can see that the values you selected were written to the MyBucket field.

REFERENCES

For more information about combo boxes, search on "combo boxes," and then "Binding columns to fields" using the Microsoft Access 97 Help Index.

Modification Type:MajorLast Reviewed:5/9/2003
Keywords:kberrmsg kbprb kbusage KB95450