ACC: Can't Change Combo Box Value If ControlSource AutoNumber

ID: Q95450


The information in this article applies to:


SYMPTOMS

Novice: Requires knowledge of the user interface on single-user computers.

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.


Keywords          : kberrmsg kbusage FmsCmbo 
Version           : 1.0 1.1 2.0 7.0 97
Platform          : WINDOWS 
Issue type        : kbprb 

Last Reviewed: March 19, 1999