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 &