The problem you're having is because you can't use a control to represent the same field in multiple records. Controls on a bound form represent a single field in a single record. This is the reason you had the correct value in only the first record when you had the control in the header section.
As far as I know you will need to create a saved qry or SQL string that outputs all of the new records on your continuous data entry form. Even in a data entry form, each time you move into a new record, the previous record is committed to the table or record source it is based on. I can think of one way to do this, but it might not be perfect for your application. If you filter your query by Null values in the field to be updated automatically you would capture all of the relevant records, but you may also have other records in that table that have a Null value.
Once you have your query that captures only the records you want, try using the following. Make sure you change the values that I have in bold. It should be placed in the "On-Click" event of your button.
- Dim db As Database
-
Set db = CurrentDb
-
Dim rst As Recordset
-
Set rst = db.OpenRecordset("Your Query Name Here", dbOpenDynaset)
-
-
With rst
-
.MoveFirst
-
Do While Not .EOF
-
.Edit
-
!FieldToBeEdited = Me.ComboBoxNameHere
-
.Update
-
.MoveNext
-
Loop
-
End With
If you filter by using the null values like I mentioned above, your query won't return any records after you click the button until you enter more records (presuming you selected a value in the combo-box).