Runtime Error 2447: Invalid use of the . (dot) or ! operator or invalid parentheses.

FBPos is a text box.

I want to see if the two properties are the same. I understand I may need to invoke the Eval() function around the .Tag one, but first I need the compiler to stop vommiting.

So why does this line cause a run-time error?
If FBPos.Value = FBPos.Tag Then
...

Open in new window

LVL 1
travisjbennettAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Rey Obrero (Capricorn1)Commented:
where and when is the code run?
0
Rey Obrero (Capricorn1)Commented:
from VBA window
Debug > Compile
correct any errors raised.
0
travisjbennettAuthor Commented:
It's run as shown below, in the beginning of a subroutine for lostfocus.
I tried changing what was in the IF to something else, still same error.

Private Sub FBPos_LostFocus()
    If FBPos.Value = "" Or IsNull(FBPos.Value) Then

Open in new window

0
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

travisjbennettAuthor Commented:
The error occurs on the IF line...
0
Rey Obrero (Capricorn1)Commented:
is FBPos a bound control?
0
Rey Obrero (Capricorn1)Commented:
try doing a compact and repair first.
0
travisjbennettAuthor Commented:
No, it says Unbound in design view.
0
travisjbennettAuthor Commented:
Nope... Compact & Repair didn't do it.
I'll post more code...
So again, the error occurs on the first line of "Private Sub FBPos_LostFocus()" which is coded like "If FBPos.Value = "" Or IsNull(FBPos.Value) Then..."
The code only spews in LogicMidFBPos_Change() 's call of FBPos_LostFocus().
 
Up'd to 500 pts.

Private Sub LogicMidFBPos_Change()
    FBPos.Tag = FBPos.DefaultValue
    If LogicMidFBPos.Value = "All" Then
        FBPos.DefaultValue = "Format: """"Phrase 1"""", """"Phrase 2"""", """"Phrase 3"""", """"Word""""" & Chr(13) & Chr(10) & "Tip: Use few short and generic terms to maximize results."
    End If
    If LogicMidFBPos.Value = "Any" Then
        FBPos.DefaultValue = "Format: """"Phrase 1"""", """"Phrase 2"""", """"Phrase 3"""", """"Word""""" & Chr(13) & Chr(10) & "Tip: Use many short and generic terms to maximize results."
    End If
    Call FBPos_LostFocus
    FBPos.Tag = ""
End Sub
 
 
Private Sub FBPos_GotFocus()
    If FBPos.Value = Eval(FBPos.DefaultValue) Then
        FBPos.Value = ""
        FBPos.ForeColor = RGB(0, 0, 0)
    End If
End Sub
 
 
Private Sub FBPos_LostFocus()
    If FBPos.Value = "" Or IsNull(FBPos.Value) Then
        FBPos.Value = Eval(FBPos.DefaultValue)
        FBPos.ForeColor = RGB(128, 128, 128)
    End If
End Sub

Open in new window

0
Rey Obrero (Capricorn1)Commented:
can i see your db?
check Attach File to initiate upload
0
travisjbennettAuthor Commented:
I can cut out the form and show it to you that way... It'll take a few minutes though.
0
travisjbennettAuthor Commented:
Ok, so get rid of the MDB file extension so that it becomes simply
Sample.accdb

Sample.accdb.mdb
0
Rey Obrero (Capricorn1)Commented:
i'll take a look at it later, when i am on a box with A2007
0
travisjbennettAuthor Commented:
Alright, thanks.
0
Rey Obrero (Capricorn1)Commented:
if you can make an .mdb, i can take a look at it now
0
travisjbennettAuthor Commented:
Alright, so the error occurs as I use the second dropdown above any text entry field.
The line that the debug button points to has a comment after then then... that's the code I was trying to add and still want to...
Anyway, good luck!

Sample03.mdb
0
Rey Obrero (Capricorn1)Commented:
change as shown, original code with ' on the front

Private Sub LogicMidFBPos_Change()

    FBPos.Tag = FBPos.DefaultValue
    If LogicMidFBPos.Value = "All" Then
'        FBPos.DefaultValue = "Format: """"Phrase 1"""", """"Phrase 2"""", """"Phrase 3"""", """"Word""""" & Chr(13) & Chr(10) & "Tip: Use few short and generic terms to maximize results."
        FBPos = "Format: """"Phrase 1"""", """"Phrase 2"""", """"Phrase 3"""", """"Word""""" & Chr(13) & Chr(10) & "Tip: Use few short and generic terms to maximize results."
    End If
    If LogicMidFBPos.Value = "Any" Then
'        FBPos.DefaultValue = "Format: """"Phrase 1"""", """"Phrase 2"""", """"Phrase 3"""", """"Word""""" & Chr(13) & Chr(10) & "Tip: Use many short and generic terms to maximize results."
        FBPos = "Format: """"Phrase 1"""", """"Phrase 2"""", """"Phrase 3"""", """"Word""""" & Chr(13) & Chr(10) & "Tip: Use many short and generic terms to maximize results."
    End If
    Call FBPos_LostFocus
    FBPos.Tag = ""

End Sub


0
Rey Obrero (Capricorn1)Commented:
see the use of DefaultValue in Access Help
0
travisjbennettAuthor Commented:
But what I'm trying to do is insert/remove the word "many" or "few" in the tip line, based on the contents of the any/all dropdown.
In order for the grey/blank/reset thing to work, I need to update the defaultvalue too. How can I do that?
0
travisjbennettAuthor Commented:
Do I just need to set both at the same time?
0
travisjbennettAuthor Commented:
I think I've got it down to the question of:
How do I get the line of code below to run in the immediate window?

? Eval(""Format: ""Phrase 1"", ""Phrase 2"", ""Phrase 3"", ""Word"""" & Chr(13) & Chr(10) & ""Tip: Use few short and generic terms to maximize results."")

Open in new window

0
travisjbennettAuthor Commented:
I just need to get the quotes, etc. right.
0
travisjbennettAuthor Commented:
This works...
? Eval("""String Cheese "" & 1")

Open in new window

0
Rey Obrero (Capricorn1)Commented:
use this

Private Sub LogicMidFBPos_Change()
    FBPos.Tag = FBPos.DefaultValue
    If LogicMidFBPos.Value = "All" Then
        FBPos.DefaultValue = Chr(34) & "Format: """"Phrase 1"""", """"Phrase 2"""", """"Phrase 3"""", """"Word""""" & Chr(13) & Chr(10) & "Tip: Use few short and generic terms to maximize results." & Chr(34)
    End If
    If LogicMidFBPos.Value = "Any" Then
        FBPos.DefaultValue = Chr(34) & "Format: """"Phrase 1"""", """"Phrase 2"""", """"Phrase 3"""", """"Word""""" & Chr(13) & Chr(10) & "Tip: Use many short and generic terms to maximize results." & Chr(34)
    End If
    Call FBPos_LostFocus
    FBPos.Tag = ""
End Sub
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
travisjbennettAuthor Commented:
Yep... I just got it to work with this...
Phew...
Beautiful! Thanks again Cap.

    Call FBPos_GotFocus
    If LogicMidFBPos.Value = "all" Then
        If LogicPreFBPos.Value = "do" Then
            FBPos.DefaultValue = """Format: """"Phrase 1"""", """"Phrase 2"""", """"Phrase 3"""", """"Word"""""" & Chr(13) & Chr(10) & ""Tip: Use few short and generic terms to maximize results."""
            FBPos.Value = ""
        End If
        If LogicPreFBPos.Value = "do not" Then
            FBPos.DefaultValue = """Format: """"Phrase 1"""", """"Phrase 2"""", """"Phrase 3"""", """"Word"""""" & Chr(13) & Chr(10) & ""Tip: Use few short and generic terms to maximize results."""
            FBPos.Value = ""
        End If
    End If
    If LogicMidFBPos.Value = "any" Then
        If LogicPreFBPos.Value = "do" Then
            FBPos.DefaultValue = """Format: """"Phrase 1"""", """"Phrase 2"""", """"Phrase 3"""", """"Word"""""" & Chr(13) & Chr(10) & ""Tip: Use many short and generic terms to maximize results."""
            FBPos.Value = ""
        End If
        If LogicPreFBPos.Value = "do not" Then
            FBPos.DefaultValue = """Format: """"Phrase 1"""", """"Phrase 2"""", """"Phrase 3"""", """"Word"""""" & Chr(13) & Chr(10) & ""Tip: Use few short and generic terms to maximize results."""
            FBPos.Value = ""
        End If
    End If
    Call FBPos_LostFocus

Open in new window

0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.