Sorry ... I gave you bad advice ... In setting a default value, you need to set it to a string value that represents an expression ... Access will attempt to put a virtual (or real) '=' sign in front of it for you but so your text defaults worked great. But with numbers, it seems Access has a little bit of trouble. So with all that your other two DefaultValue statements work but should actually be written as follows:
(Note the quotation marks ... the goal is to create a string the represents an expression .. so the result will be something like --> ='MyString' or =MyNumber )
Me.Course.DefaultValue = "=[color="blue"]'[/color]" & Nz(Me.Course,"") & "[color="blue"]'[/color]"
Me.CriteriaNumber.DefaultValue = "=[color="blue"]'[/color]" & Nz(Me.CriteriaNumber,"") & "[color="blue"]'[/color]"
Note: The .Column() property will ALWAYS return text, UNLESS the user has not made a selection in the combo. That is important to know, because sometimes a selection is made in the combo and programmers will test for a NULL in another column, and it is never NULL ... the NULLs are converted to a ZLS (zero length string). Also .Colomn(0) is usually the bound column .. so it is really not needed, but it does not harm anything, as long as you know about the handling of the NULLs --> ZLS
SO .... With all that here is how to set the defaultvalue for the ObjectNum control
If ObjectNum is a numeric value (stored in the table as a number of some sort) then do this ..
Me.ObjecNum.DefaultValue = "=" & Me.ObjecNum.Value
Note: .Value is the 'Default' property and could be left off
This will set the defaultvalue STRING to =1 or =2 or whatever the number will be
If ObjectNum is a TEXT value in the table it resides in then do this:
Me.ObjecNum.DefaultValue = "=[color="blue"]'[/color]" & Me.ObjecNum.Value & "[color="blue"]'[/color]"
I hope that helps ... sorry for the misleading original post ... I guess I had brain freeze!!