ACC: Expression Error May Be Caused by International Setting (94825)



The information in this article applies to:

  • Microsoft Access 1.0
  • Microsoft Access 1.1
  • Microsoft Access 2.0
  • Microsoft Access for Windows 95 7.0
  • Microsoft Access 97

This article was previously published under Q94825
Novice: Requires knowledge of the user interface on single-user computers.

SYMPTOMS

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:
  • Use Windows Control Panel to modify the list separator in your Win.ini file. Choose International from the Settings menu. Specify the correct separator in the List Separator field.
  • Use a text editor to modify the list separator in your Win.ini file.
  • Modify the expression so that it uses the list character specified in your Win.ini file.

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=;
				

Modification Type:MajorLast Reviewed:5/9/2003
Keywords:kberrmsg kbprb kbusage KB94825