*VBScript in A Nutshell, A Desktop Quick Reference*, 2nd Edition, by Paul Lomax, Matt Childs & Ron Petrusha, quite useful. It has way more on VBScript than you likely need to know for writing formula properties, but the reference section contains a listing of the available commands and their use.

**Arithmetic Operators**

Used to manipulate numeric values.

**+**

Adds two numbers. Can also be used to concatenate strings, but use the concatenation operator [see below] to avoid confusion.

**-**

Subtracts two numbers, or indicates a negative value.

**/**

Divides two numbers, returning a floating point number.

*****

Multiplies two numbers.

**\**

Divides two numbers, returning an integer – without a remainder or decimal places.

**Mod**

Modulo operator, divides two numbers and returns only the remainder; the original numbers are rounded to integers before performing the operation.

**^**

Raises a number to the power of an exponent. The number is first, followed by the “^” and then the exponent.

**String Operator**

Used to join individual strings into one string.

**&**

Concatenates two strings. Non-string values are converted to strings and then concatenated.

**Comparison Operators**

Used to compare two expressions, these operators return True, False or Null [only when both expressions are Null]. The first expression precedes the operator, and the second follows it. These are frequently used with If Then [ElseIf] [Else] End If statements to provide alternate formula results based on values stored in other properties [or derived from other properties].

**>**

Greater than, True if the first expression is greater than the second.

**<>**or

**><**

Not equal, True if the first expression is either less than or greater than the second.

**>=**or

**=>**

Greater than or equal, True if the first expression is greater than or equal to the second.

**<=**or

**=<**

Less than or equal, True if the first expression is less than or equal to the second.

**=**

Equal, True if the first expression is equal to the second.

Comparison operators work on both numeric and string values. When mixing these in a single comparison, the comparison is done in accordance with the following:

- If both the string and number are “literal” – actually written, not through a variable, then the string is converted to a number prior to comparison.
- If one is literal and the other is a variable, the variable value is converted to the type of the literal value prior to conversion.
- If both are variables, the number will be evaluated as smaller than the string.

**Logical Operators**

Used to evaluate one or more expressions, returning a logical value [True/False/Null]. For example, a logical operator can be used to have two conditions evaluated for a single If statement. These can also be used as bitwise operators. If you are doing this in a formula property, you really do not need to read this article.

**And**

Evaluates to True if both expressions are True, otherwise, False.

**Or**

Evaluates to False when both expressions are False, otherwise, True.

**Not**

Negates a single expression. If the expression is True, Not evaluates to False; if the expression is False, Not evaluates to True.

**Eqv**

Evaluates to True if both expressions are True or both are False; evaluates to False if one is True and the other False.

**Xor**

Evaluates to True if one is True and the other False; evaluates to False if both expressions have the same evaluation.

There is an order of precedence for evaluating operators when more than one appears on the same line. I so strongly recommend using parentheses to make your desired order of operation explicit that I am going to omit describing the VBScript hierarchy.

## 1 comment:

Great post. Remember to add 'RESULT=' to any expression you use. Is there going to be a second post on the all important decision stuctures?

Post a Comment