I think you are misunderstanding the logic of the OR operator.
If x gets populated with 'a'
x <> "a" will evaluate to false and processing continues onto the other side of the OR operator
x <> "b" will evaluate to true which causes your response statement to execute.
If x gets populated with 'b'
x <> "a" evaluates to true so the other side of the OR operator is not evaluated and your response statement is executed.
With the OR statement, only one side of the OR needs to evaluate to true for the entire evauation to be true.
So if you want x to not equal either a or b use the AND operator:
If x <> "a" and x <> "b" then 'do stuff
Read this if you want to know how to get a correct reply for your question:
.: Wrox Technical Editor / Author :.
Wrox Books 24 x 7