On a form, basing populating controls on a supplied record may lead to error, because a perfect match is needed between the control tags and the field list. Any pre-specified error handler jumps loop, making it hard to resume. A simple way to get around this issue is to use in-line error handling, as illustrated in the following example:
Public Sub DataPopulateCustomer(pRst As Recordset)
Dim ctl As WLText
'Assume that txt is a control array of type WLText
On Error Resume Next
For Each ctl In txt
ctl.Text = Trim(pRst.Fields(ctl.Tag).Value
&