Run -time error '2771': The bound or unbound object frame you tried to edit doesn't contain an OLE object.

I have a Access form that has several combobox lookup controls are used to create the SQL statement to apply filters to the querry.  This worked fine if the filter found matching records or not.  My problems started when I attempted to add a activex date control.  The form and code works fine as long as the applied filter finds matching records.  If no matching records are found, and I attempt to change the axtiveX control of my date ranges for the querry filter, I recive the following message.

Run -time error '2771':
The bound or unbound object frame you tried to edit doesn't contain an OLE object.

It breaks on the following code.

If atxStartDate.Value > atxEndDate.Value Then
    atxEndDate.Value = atxStartDate.Value
    txtEndDate = VBA.FormatDateTime(atxEndDate.Value, vbShortDate)
End If

The controls are not bound to the record, they are only used to write the SQL code to apply to the filter of the querry.

Any Ideas?
Bob StammOperations ManagerAsked:
Who is Participating?
A friend of mine wrote a form that has similar functions for filtering the form. He checked after setting the filter and if no records were returned popped up a message box to warn the user, then turned the filter off:

Private Sub CmdUpdateFilter_Click()
    'Re-set filter
    UpdateFilterHM 'Call the function to build the filter
    'If no records match current filter
    If Me.Recordset.EOF = True Then
        NotFound = "No records Found Matching Your Criteria"
        MsgBox (NotFound)
        Me.FilterOn = False
    End If
End Sub
You could handle the error and keep going:

On Error GoTo ErrorHandler

     Exit Sub

       Select Case Err.Number
             Case 2771
                   Resume Next
             Case Else
                    MsgBox "Error number: " & Err.Number & " - " & Err.Description
       End Select
Resume Exit_Here
Hi Robert,
Are you trying to use the filter to limit the data displayed in your form?
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

Bob StammOperations ManagerAuthor Commented:
Yes, I'm trying to use the filter to limit the records displayed on my form?  I have several comboboxes that create a SQL statement to show matching records in a final combobox. This works fine.  The issue I'm having is when I apply the same information to the form filter.  All works well until send a filter that produces no results.  At that time when I try to expand the date range I recieve the above message.  I could try to ignore the message but I haven't tried that yet.

PS. I'm a self-taught programmer and some of these issues are new to me.
You could check to see if the form is currently showing no records:
If Me.CurrentRecord=0 Then

This only works though if the form does not allow additions.
Bob StammOperations ManagerAuthor Commented:
These comments and suggestions look good.  I'll try them and award points later.
Thanks for the grade Robert, glad I could help!
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.