Solved

Access 2007 vba function runtime error 438.  Object does not support this property or method

Posted on 2010-08-31
4
1,334 Views
Last Modified: 2013-11-28
In the attached code, I making sure the user has entered data in each box.  The function is called from a save and exit function.  It all works except the section for Operator.   If the Operator box is empty, the message box is displayed as planned.  But then it crashes with the error message.

Microsoft Visual Basic
Runtime Error  '438'
Object does not support this property or method

When I select Debug it points to the line of code:
Me!Operator.SetFocus

Operator is the correct control source.

What am I looking for?
Thanks,
Brooks
Private Function CheckDataBeforeSaveAndExit() As Boolean

    If Me.Etch_Lot = "Select Etch Lot" Or IsNull(Me.Etch_Lot) Then

            MsgBox "Please select an etch lot number from the list."

            CheckDataBeforeSaveAndExit = False

            Me!Etch_Lot.SetFocus

    ElseIf IsNull(Me.Start_Qty) Then

            MsgBox "Please enter Start Quantity."

            CheckDataBeforeSaveAndExit = False

            Me!Start_Qty.SetFocus

    ElseIf IsNull(Me.End_Qty) Then

            MsgBox "Please enter End Quantity."

            CheckDataBeforeSaveAndExit = False

            Me!End_Qty.SetFocus

    ElseIf IsNull(Me.Furnace) Then

            MsgBox "Please select a furnace."

            Me!Frame39.SetFocus

            CheckDataBeforeSaveAndExit = False

    ElseIf IsNull(Me.Operator) Then

            MsgBox "Please select operator."

            Me!Operator.SetFocus

            CheckDataBeforeSaveAndExit = False

    Else

            CheckDataBeforeSaveAndExit = True

    End If

Open in new window

0
Comment
Question by:gbnorton
  • 2
4 Comments
 
LVL 74

Accepted Solution

by:
Jeffrey Coachman earned 300 total points
Comment Utility
This is probably due to you keeping the default Control Names..
Please change the control names to follow a standard naming convention: (http://www.xoc.net/standards/default.asp)

The issue with leaving the default names is that the Control name is the same as the filed name.
While a control will have a .SETFOCUs property, a Filed will not.
(resulting in your error)

Note after changing all the control names:
Save the Form/Report.
Change the code to reflect the new names
Compile the code (In the VBA Editor click: Debug-->Compile)
The run the Compact/Repair utility, then retest..

;-)

JeffCoachman
0
 
LVL 14

Assisted Solution

by:pteranodon72
pteranodon72 earned 200 total points
Comment Utility
It looks like some of the controls on your form have the same name as their bound field (like Etch_Lot) and others are not named like the bound field (Frame39 is bound to field Furnace, it appears.)

If there is no Control on the form named Operator,  Me!Operator resolves to the Operator *Field*, which cannot have events attached.

Operator sounds like a reserved word, so I would rename the control to fraOperator or cboOperator, etc. in the Properties->Other tab. Keep the Control Source as Operator (as shown in the Data tab). Then use Me!Operator to refer to the value of the field and Me!cboOperator.SetFocus to refer to the control.

HTH,
pT72
0
 

Author Closing Comment

by:gbnorton
Comment Utility
I don't know if who's the quickest matters.  You both gave excellent responses.  Jeff was a little quicker...
0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
Comment Utility
I have no problem with the split.

pteranodon72 gave an explanation for another technical viewpoint, which is always helpful.

;-)

JeffCoachman
0

Featured Post

Complete Microsoft Windows PC® & Mac Backup

Backup and recovery solutions to protect all your PCs & Mac– on-premises or in remote locations. Acronis backs up entire PC or Mac with patented reliable disk imaging technology and you will be able to restore workstations to a new, dissimilar hardware in minutes.

Join & Write a Comment

The first two articles in this short series — Using a Criteria Form to Filter Records (http://www.experts-exchange.com/A_6069.html) and Building a Custom Filter (http://www.experts-exchange.com/A_6070.html) — discuss in some detail how a form can be…
Today's users almost expect this to happen in all search boxes. After all, if their favourite search engine juggles with tens of thousand keywords while they type, and suggests matching phrases on the fly, why shouldn't they expect the same from you…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now