ComponentOne Reports for WinForms Designer Edition: ComponentOne Reports for WinForms > Working with C1Report > Working with VBScript > Using Compatibility Functions: Iif and Format

Using Compatibility Functions: Iif and Format

To increase compatibility with code written in Visual Basic and Microsoft Access (VBA), C1Report exposes two functions that are not available in VBScript: Iif and Format.

Iif evaluates a Boolean expression and returns one of two values depending on the result. For example:

Iif(SalesAmount > 1000, "Yes", "No")

Format converts a value into a string formatted according to instructions contained in a format expression. The value may be a number, Boolean, date, or string. The format is a string built using syntax similar to the format string used in Visual Basic or VBA.

The following table describes the syntax used for the format string:

 

Value Type

Format String

Description

Number

Percent, %

Formats a number as a percentage, with zero or two decimal places.
For example:

Format(0.33, "Percent") = "33%"

Format(0.3333333, "Percent") = "33.33%"

#,###.##0

Formats a number using a mask. The following symbols are recognized:

#          digit placeholder
0          digit placeholder, force display
,           use thousand separators
(           enclose negative values in parenthesis
%         format as percentage

For example:

Format(1234.1234, "#,###.##") = "1,234.12"

Format(-1234, "#.00") = "(1234.12)"

Format(.1234, "#.##") = ".12"

Format(.1234, "0.##") = "0.12"

Format(.3, "#.##%") = "30.00%"

Currency

Currency, $

Formats a number as a currency value. Displays number with thousand separator, if appropriate; displays two digits to the right of the decimal separator.

For example:

Format(1234, "$") = "$1,234.00"

Boolean

Yes/No

Returns "Yes" or "No".

Date

Long Date

Format(#12/5/1#, "long date") = "December 5, 2001"

Short Date

Format(#12/5/1#, "short date") = "12/5/2001"

Medium Date

Format(#12/5/1#, "medium date") = "05-Dec-01"

q,m,d,w,yyyy

Returns a date part (quarter, month, day of the month, week of the year, year).

For example:

Format(#12/5/1#, "q") = "4"

String

@@-@@/@@

Formats a string using a mask. The "@" character is a placeholder for a single character (or for the whole value string if there is a single "@"). Other characters are interpreted as literals.

For example:

Format("AC55512", "@@-@@/@@") = "AC-555/12"

Format("AC55512", "@") = "AC55512"

@;Missing

Uses the format string on the left of the semi-colon if the value is not null or an empty string, otherwise returns the part on the right of the semi-colon.

For example:

Format("@;Missing", "UK") = "UK"

Format("@;Missing", "") = "Missing"

 

Note that VBScript has its own built-in formatting functions (FormatNumber, FormatCurrency, FormatPercent, FormatDateTime, and so on). You may use them instead of the VBA-style Format function described here.


Send comments about this topic to ComponentOne.
Copyright © ComponentOne LLC. All rights reserved.