I think you probably mean "And" rather than "Or"...
If a Or b Or c Then
Execute("this statement if any one is true")
End If
So is
a
is true, the statement will be executed, without even looking at
b
or
c
On the other hand:
If a And b And c Then
Execute("this statement if all of them are true")
End If
Then a must be true, and b must be true, and c must be true.
So in your existing code, if (for example)
idsearchtxt.Text
is not an empty string, then it will try to convert yearRenew.Text to an integer, even if it is an empty string.
Try changing all your "Or"s to "And"s and see if the problem goes away.