travisjbennett
asked on
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?
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
...
where and when is the code run?
from VBA window
Debug > Compile
correct any errors raised.
Debug > Compile
correct any errors raised.
ASKER
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.
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
ASKER
The error occurs on the IF line...
is FBPos a bound control?
try doing a compact and repair first.
ASKER
No, it says Unbound in design view.
ASKER
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.
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
can i see your db?
check Attach File to initiate upload
check Attach File to initiate upload
ASKER
I can cut out the form and show it to you that way... It'll take a few minutes though.
ASKER
i'll take a look at it later, when i am on a box with A2007
ASKER
Alright, thanks.
if you can make an .mdb, i can take a look at it now
ASKER
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
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
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
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
see the use of DefaultValue in Access Help
ASKER
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?
In order for the grey/blank/reset thing to work, I need to update the defaultvalue too. How can I do that?
ASKER
Do I just need to set both at the same time?
ASKER
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?
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."")
ASKER
I just need to get the quotes, etc. right.
ASKER
This works...
? Eval("""String Cheese "" & 1")
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Yep... I just got it to work with this...
Phew...
Beautiful! Thanks again Cap.
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