Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

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

Posted on 2010-08-31
4
Medium Priority
?
1,473 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 74

Accepted Solution

by:
Jeffrey Coachman earned 1200 total points
ID: 33570868
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 800 total points
ID: 33570885
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
ID: 33571291
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
ID: 33572556
I have no problem with the split.

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

;-)

JeffCoachman
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In earlier versions of Windows (XP and before), you could drag a database to the taskbar, where it would appear as a taskbar icon to open that database.  This article shows how to recreate this functionality in Windows 7 through 10.
Explore the ways to Unlock VBA Project Password Excel 2010 & 2013 documents. Go through the article and perform the steps carefully to remove VBA Excel .xls file.
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.

636 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