Invalid use of Property

HI Experts,

The following code produces an "Invalid use of Property" Error, and I can't tell why, please help.

Private Sub txtPO_Exit(Cancel As Integer)

Dim SQL As String
Dim rst As Recordset
If Not IsNull(txtPO) Then
        SQL = "Select * From [Skid List] Where PO = '" & txtPO & "'"
        Set rst = CurrentDb.OpenRecordset(SQL)
        lblSkidsUsed.Visible = True
        NewSkid.Visible = True
        SkidList.Visible = True

        If rst.BOF And rst.EOF Then
            EditSkid.Visible = False
            PrintSkidLabel.Visible = False
            DeleteSkid.Visible = False
            EditSkid.Visible = True
            PrintSkidLabel.Visible = True
            DeleteSkid.Visible = True
        End If

End If
End Sub
Who is Participating?
SidFishesConnect With a Mentor Commented:
in your code window

select debug - compile..

.it -should- show you the error
first try adding me! to each control

me!NewSkid.Visible = True

if that doesn't work which line doesn it break on?
IndyBeanAuthor Commented:
It doesn't take me into the step through view of the code it's a message box error.

The me! seems not to have helped
Get 10% Off Your First Squarespace Website

Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to and use offer code ‘EXPERTS’ to get 10% off your first purchase.

you can either hit control-Break at the message box and select debug or

put a breakpoint at

If Not IsNull(txtPO) Then

to add a break point just put your cursor in the line you want and press F9

now run your code and step thru with F8
I take it that PO is a text-valued object?

Try changing:
SQL = "Select * From [Skid List] Where PO = '" & txtPO & "'"


SQL = "Select * From [skid list] Where PO = " & chr(34) & me.txtPO & chr(34) & """
IndyBeanAuthor Commented:
The breakpoint didn't do it.

I don't know that it's the code. It's a message box that only allows "Okay".


The expression On Exit you entered as the event property setting produced the following error: Invalid use of Property.

*The expression may not result in the name of a macro, the name of a user-defined function, or [Event Procedure].
*There may have been an error evaluating the function, event or macro.

IndyBeanAuthor Commented:
I exited Access and went back in and now its the same message except the error is now

Variable not defined.
Hello IndyBean,

> The following code produces an "Invalid use of Property" Error,
on which line?

Do you have a reference to DAO3.6 set?
If so do you have a reference to ActiveXDataObjects 2.n set?
If so remove the setting for ADO.

Alternatively, try:

SQL = "SELECT * FROM [skid list] "
SQL = SQL & "WHERE ((("[PO])= " & chr(34) & [me].[txtPO] & chr(34) &));"

The error will be formed as a result of the SQL statement - guaranteed....
IndyBeanAuthor Commented:
Alright that's just rediculous. I had in another function; NewSkid_OnClick()

Dim rst As RecordSet

it didn't like the line apparently and said that rst later in the function was not defined.

It had nothing to do with the code I got the problem from.

It works fine now. Thank you
that's why the debug compile is will find all those undefined variables that give you strange error messages
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.