Article ID: 166113
Article Last Modified on 9/1/2005
APPLIES TO
- Microsoft Visual C++ 4.0 Standard Edition
- Microsoft Visual C++ 4.1 Subscription
- Microsoft Visual C++ 4.2 Enterprise Edition
- Microsoft Visual C++ 5.0 Enterprise Edition
- Microsoft Visual C++ 6.0 Enterprise Edition
- Microsoft Visual C++ 4.2 Professional Edition
- Microsoft Visual C++ 5.0 Professional Edition
- Microsoft Visual C++ 6.0 Professional Edition
- Microsoft Visual C++ 6.0 Standard Edition
This article was previously published under Q166113
SYMPTOMS
Using Microsoft Access, you can create code modules in an .mdb file that
can be used by predefined queries. When you open the query in Access, the
code works as expected. However, if you use ODBC or DAO to access the
predefined query, the following error message appears:
Undefined function '<function name>' in expression
For example, assume that a function, called PlusTen, that adds 10 to some
value is defined in Access as follows:
Public Function PlusTen(ByVal inVal As Long) As Long
PlusTen = inVal + 10
End Function
You could have the following SQL statement in a predefined query:
Select PlusTen(column1) from table1
With the Access 7.0 or Access 97 ODBC Drivers included with Visual C++
versions 4.x and Visual C++ version 5.0, you receive an error similar to
the following:
Undefined function 'PlusTen' in expression
State:37000, Native:-3102, Origin:[Microsoft][ODBC Microsoft Access 97
Driver]
If you use DAO 3.0 (included with Visual C++ 4.x) or DAO 3.5 (included with
Visual C++ 5.0), the following message appears in the Output window of the
debugger:
DAO Call Failed.
m_pQueryDef->m_pDAOQueryDef->OpenRecordset(
COleVariant((long)m_nOpenType), COleVariant((long)m_nOptions),
&m_pDAORecordset)
In file daocore.cpp on line 3327
scode = 800A0C0D
Error Code = 3085
Source = DAO.Database
Description = Undefined function 'PlusTen' in expression.
CAUSE
ODBC and DAO do not use or know anything about the code modules inserted
into an .mdb file by Access. Only Access recognizes the modules.
STATUS
This behavior is by design.
Additional query words: Jet kbvc400 kbvc410 kbvc420 kbvc500 kbvc600
Keywords: kbtshoot kbdatabase kbprogramming kbprb KB166113