Solved

Error 438 Obejct doesn't support property or method

Posted on 2008-10-30
6
317 Views
Last Modified: 2013-11-28
I have a front end database that is being distributed to several users.  The front end works perfect on my laptop, and another desktop I tested it on.  

However when I placed the database on a second deskstop to test the following code gives me an error.

Note the code works perfect on the two previous pcs I tested it on so I am guessing the problem has to do with a setting.  can anyone help.

See code below.

Private Sub lockfields()
    For Each ctl In Forms!frmPurchaseOrderMain
        On Error Resume Next
        Err = 0
        Me(ctl.Name).Locked = True   <-------------------  Error Occurs Here
        On Error Resume Next
        Err = 0
    Next ctl
    Forms!frmPurchaseOrderMain.Refresh
    Forms!frmPurchaseOrderMain.Requery
End Sub
0
Comment
Question by:lashler2
6 Comments
 
LVL 119

Expert Comment

by:Rey Obrero
Comment Utility
Private Sub lockfields()
    For Each ctl In Forms!frmPurchaseOrderMain
        On Error Resume Next
        Err = 0
        Forms("frmPurchaseOrderMain")(ctl.Name).Locked = True
        On Error Resume Next
        Err = 0
    Next ctl
    Forms!frmPurchaseOrderMain.Refresh
    Forms!frmPurchaseOrderMain.Requery
End Sub
0
 
LVL 119

Assisted Solution

by:Rey Obrero
Rey Obrero earned 100 total points
Comment Utility


Private Sub lockfields()

dim ctl as control

    For Each ctl In Forms!frmPurchaseOrderMain
        On Error Resume Next
        Err = 0
        Forms("frmPurchaseOrderMain")(ctl.Name).Locked = True
        On Error Resume Next
        Err = 0
    Next ctl
    Forms!frmPurchaseOrderMain.Refresh
    Forms!frmPurchaseOrderMain.Requery
End Sub
0
 
LVL 17

Assisted Solution

by:Natchiket
Natchiket earned 100 total points
Comment Utility
Not sure about the setting you want to change but if there are labels etc on the form attempting to lock them won't work

Something like this might be more appropriate
For Each ctl In Forms!frmPurchaseOrderMain
    If TypeOf ctl Is TextBox Then
        Me(ctl.Name).Locked = True   <-------------------  Error Occurs Here
    End IF
Next ctl
0
What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

 

Author Comment

by:lashler2
Comment Utility
Thanks for the comments I will check to see if any of the suggestions fixed the problem when I go back to the computer giving the error in about two hours.  

I am still curious as to why the error will show up on one computer but not the other two?

Any suggestions?
0
 
LVL 74

Accepted Solution

by:
Jeffrey Coachman earned 300 total points
Comment Utility
lashler2,

  "I am still curious as to why the error will show up on one computer but not the other two?"
Well you have some non-standard error handling in your code.

As Natchiket has mentioned, my guess is that you are using this error handling scheme to bypass controls that are not of the type you want.

If you still get errors because you want only certain contols of a certain type locked, you can use the "Tag" property of thoes controls to weed out only the controls you need:
For Each ctl In Forms!frmPurchaseOrderMain
    If TypeOf ctl Is TextBox Then
        If ctl.tag="x" then
            Me(ctl.Name).Locked = True   <-------------------  Error Occurs Here
        end if
    End IF
Next ctl

This will only lock "Textboxes" that have their "Tag" property set to "x".

You may also wish to check the way the individual machiens are setup to handle errors:
Tools-->Options-->General-->Error trapping.
From the VBA Help files:

Error Trapping

Determines how errors are handled in the Visual Basic development environment. Setting this option affects all instances of Visual Basic started after you change the setting.

Break on All Errors  Any error causes the project to enter break mode, whether or not an error handler is active and whether or not the code is in a class module.

Break in Class Module  Any unhandled error produced in a class module causes the project to enter break mode at the line of code in the class module which produced the error.

Break on Unhandled Errors  If an error handler is active, the error is trapped without entering break mode. If there is no active error handler, the error causes the project to enter break mode. An unhandled error in a class module, however, causes the project to enter break mode on the line of code that invoked the offending procedure of the class.



JeffCoachman
0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
Comment Utility
;-)
0

Featured Post

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

Most if not all databases provide tools to filter data; even simple mail-merge programs might offer basic filtering capabilities. This is so important that, although Access has many built-in features to help the user in this task, developers often n…
Regardless of which version on MS Access you are using, one of the harder data-entry forms to create is one where most data from previous entries needs to be appended to new records, especially when there are numerous fields and records involved.  W…
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…
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …

762 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

6 Experts available now in Live!

Get 1:1 Help Now