ACC: Expression Error May Be Caused by International Setting

ID: Q94825


The information in this article applies to:


SYMPTOMS

Novice: Requires knowledge of the user interface on single-user computers.

When you try to enter an expression that requires a list separator in the QBE grid field or criteria rows, or as the ControlSource property setting for a text box in a form or report, the attempt fails, and you may receive the following error message:

In Microsoft Access 7.0 and 97:

The expression you entered has invalid syntax.

In Microsoft Access 1.x and 2.0:
Syntax error

When you try to enter an expression that requires a list separator in an action argument for a macro action, the attempt fails, and you may receive the following error message:

In Microsoft Access 7.0 and 97:
Microsoft Access can't parse the expression: '<Expression>'

In Microsoft Access 1.x and 2.0:
Can't parse expression: '<Expression>'


CAUSE

In Microsoft Access 7.0 and 97, these errors can occur because of an incorrect list separator setting on the Number tab of the Regional Settings Properties dialog box in the Windows 95 or Windows NT 4.0 Control Panel.

In Microsoft Access 1.x and 2.0, these errors can occur because of an incorrect "slist" parameter setting in the [intl] section of the Windows 3.x Win.ini file. This setting specifies the character used to separate items in a list. In United States English, the most common list separator is a comma (,).


RESOLUTION

In Microsoft Access 7.0 and 97, follow these steps:

  1. In Microsoft Windows 95 or Windows NT 4.0, double-click the Regional Settings icon in Control Panel.


  2. In the Regional Settings Properties dialog box, click the Regional Settings tab. Note that you can select many different regions of the world from the combo box.


  3. Click the Number tab and specify the correct list separator in the List Separator box.


In Microsoft Access 1.x and 2.0:

There are three methods to address this situation, as follows:


MORE INFORMATION

For Microsoft Access 7.0 and 97:

Microsoft Access 7.0 and 97 only uses the Windows registry; they do not use the Win.ini file. When you enter an expression in a property sheet, a design grid, or an action argument, Microsoft Access recognizes region- specific function names, property names, and list separators for international versions.

When using functions or properties in an expression in most international versions of Microsoft Access 7.0 and 97, you can type its localized name (in your language) in a property sheet, a design grid, or an action argument. And you can use the list separator for your country when you specify more than one argument for a function. You specify the list separator on the Number tab of the Regional Settings Properties dialog box in the Windows Control Panel. For most international versions, the default list separator is a semicolon (;).

However, in Visual Basic for Applications code, you must type the English function or property name and use a comma (,) as a list separator.

For Microsoft Access 1.x and 2.0:

When this error occurs, the [intl] setting in the WIN.INI file may appear as follows:


     [intl]
     slist=; 


The default United States English setting is as follows:


     [intl]
     slist=; 

Additional query words: globalization international int'l localization localisation


Keywords          : kberrmsg kbusage ExrOthr 
Version           : WINDOWS:1.0,1.1,2.0,7.0,97
Platform          : WINDOWS 
Issue type        : kbprb 

Last Reviewed: March 14, 1999