ID: Q145705
The information in this article applies to:
Moderate: Requires basic macro, coding, and interoperability skills.
When you run or compile a procedure in a Microsoft Access database that references a field with the same name as a data-access method on a Recordset object, you may receive one of the following error messages:
Expected Function or variable
-or-
Argument not optional
-or-
Type Mismatch
You used the dot (.) syntax when you referenced a field with the same name as a data-access method on a Recordset object. For example, you may have a field called "Close" that is preceded with a dot:
Function Test()
Dim db As DATABASE, tb As Recordset, x As Variant
Set db = CurrentDb
Set tb = db.OpenRecordset("Table1")
x = x + tb.[Close]
End Function
Modify the procedure to use the exclamation point (!) syntax in the reference, for example:
Function Test()
Dim db As DATABASE, tb As Recordset, x As Variant
Set db = CurrentDb
Set tb = db.OpenRecordset("Table1")
x = x + tb![Close]
End Function
This behavior is by design.
The particular error message that you receive when you run or compile a procedure depends on the assigned name of the referenced field as follows:
AddNew
CancelUpdate
Close
Delete
Edit
FillCache
MoveFirst
MoveLast
MoveNext
MovePrevious
Requery
Update
FindFirst
FindLast
FindNext
FindPrevious
Move
Seek
Clone
CopyQueryDef
OpenRecordset
1. Open a Microsoft Access database.
2. Create a new table named Table1 and add a field named Close.
3. Create a module and type the following procedure:
Function Test()
Dim db As DATABASE, tb As Recordset, x As Variant
Set db = CurrentDb
Set tb = db.OpenRecordset("Table1")
x = x + tb.[Close]
End Function
4. On the Run menu, click Compile All Modules. Note that you receive the
following error message:
Expected Function or variable
For more information about naming conventions, search the Help Index for "naming conventions," or ask the Microsoft Access 97 Office Assistant.
Additional query words: argument not optional type mismatch
Keywords : kberrmsg kbprg
Version : 7.0 97
Platform : WINDOWS
Hardware : x86
Issue type : kbprb
Last Reviewed: November 20, 1998