I’m not really sure how to define this.
I have a table that has a few fields, let’s call them: ID, Name, and Type.
I have a form that allows the user to add new records via Datasheet view. ID and Type is hidden, and only Name appears. I’ve setup a Filter that shows only records of a specific Type (i.e. Type = 2)
However, if someone enters a new record into the datasheet, the Type field does not get set. Setting a default value on the field won’t accomplish what I want because I have a few Forms that are tailored based on Type, therefore, each needs to submit new records to the same table based on that type.
Is there a way to define what value it should set Type to? I guess I could capture the BeforeUpdate event, and set the value that way, and just hide the column. I was wondering if there is a way “proper” technique, though.
In the form’s Before Insert event, you can examine the current Filter expression, parse out the filter’s Type value, convert it from a string to a number, and finally assign that number to the hidden control which is bound to the Type field.
So, assuming that hidden control is a text box named txtType, and its control source is a long integer field:
Use the appropriate type conversion function in place of
CLng()to match the bound field’s data type.That approach should work if you’re setting the Filter like this:
But, if you’re using a different method to do the filtering, please give us details about it.