# using mod() with IF THEN field calculation

I am trying to use the field calculator to assign a "odd" or "even" value to a field of small integers. I usually do this with by selecting where:

``````MOD([field],2) = 0
``````

and then just calculating it as "even", then reversing the selection and setting it to "odd"

I was hoping to do something like this in the field calculator:

``````DIM oddeven
IF mod([Field],2) = 0
oddeven = "even"
else
oddeven = "odd"
end IF
``````

This does not work and I assume there is an alternate use of the mod() in this setting, or perhaps you cannot use an operator in the IF/THEN condition statement.

-

If you're interested in a Python implementation, make sure you set your parser to "Python" and enter the below function in the Codeblock area. Then, all you have to do is call the function oddeven with the field name surrounded by "!".

``````def oddeven(n):
if n%2 ==0:
return "even"
else:
return "odd"
``````

-

Your logic is correct, but the syntax is a bit off. In VBA the mod operator is `[Field] Mod 2` and you must use the `Then` clause at the end of the `IF` statement. So your corrected code is:

``````DIM oddeven
IF [TILESQMILE] mod 2 = 0 Then
oddeven = "even"
else
oddeven = "odd"
end IF
``````

And you should input the code into the field calculator window as follows:

-
Fantastic! Thank you for the speedy and well explained response. That code did the trick! Thank you. – Mr.ecos Sep 27 '12 at 20:29
You're welcome. Happy to help. – sgrieve Sep 27 '12 at 20:30