Auto fill subform type mismatch error
Posted on 2004-08-05
This is the problem that I am having with a database in Access 2000. The main form (frmCensusMainEntry) has a subform (frmPatientPlacementSubform) and I want the subform to autofill a new record with information from its previous record. I used the following function from the Microsoft Knowledge Base Article - 210236:
Function AutoFillNewRecord(f As Form)
Dim rs As DAO.Recordset, C As Control
Dim FillFields As String, FillAllFields As Integer
On Error Resume Next
' Exit if not on the new record.
If Not f.NewRecord Then Exit Function
' Goto the last record of the form recordset (to autofill form).
Set rs = f.RecordsetClone
' Exit if you cannot move to the last record (no records).
If Err <> 0 Then Exit Function
' Get the list of fields to autofill.
FillFields = ";" & f![AutoFillNewRecordFields] & ";"
' If there is no criteria field, then set flag indicating ALL
' fields should be autofilled.
FillAllFields = Err <> 0
f.Painting = False
' Visit each field on the form.
For Each C In f
' Fill the field if ALL fields are to be filled OR if the
' ...ControlSource field can be found in the FillFields list.
If FillAllFields Or InStr(FillFields, ";" & (C.NAME) & ";") > 0 Then
C = rs(C.ControlSource)
f.Painting = True
Then I put a non-visible text box in the subform with the defaultvalue: Chart;AdmitType;Program;Unit
The only field not included in the defaultvalue was Date, because I want the user to enter this as a control measure for data entry.
Finally, in the OnCurrent property I put the following: =AutoFillNewRecord([Forms]![frmPatientPlacementSubform])
When I open the subform without opening the main form the function works properly. Yet, when I open the main form to access the subform the following error occurs:
The expression On Current you entered as the event property setting produced the following error: Type mismatch.
*The expression may not result in the name of a macro, the name of a user-defined function, or [Event Procedure].
*There may have been an error evaluating the function, event, or macro.
If anyone has any ideas for resolving this problem, I would greatly appreciate some help.