The information in this article applies to:
SYMPTOMSWhen you run a Microsoft Excel Visual Basic for Applications macro that uses Data Access Objects (DAO), you may receive one of the following error messages:
-or-
CAUSE
DAO versions 3.0 and 3.5, which are included with Microsoft Excel 7.0 and
97 respectively, do not fully support named arguments. In some cases, named
arguments will work without error, however, you should avoid using them.
RESOLUTIONMicrosoft provides programming examples for illustration only, without
warranty either expressed or implied, including, but not limited to, the
implied warranties of merchantability and/or fitness for a particular
purpose. This article assumes that you are familiar with the programming
language being demonstrated and the tools used to create and debug
procedures. Microsoft Support professionals can help explain the functionality
of a particular procedure, but they will not modify these examples to
provide added functionality or construct procedures to meet your specific
needs. If you have limited programming experience, you may want to contact
the Microsoft fee-based consulting line at (800) 936-5200. For more
information about the support options available from Microsoft, please see
the following page on the World Wide Web: http://www.microsoft.com/support/supportnet/overview/overview.aspTo work around this behavior, use positional arguments instead of named arguments. In a Visual Basic macro, when you call a Subroutine or Function, you can supply arguments positionally, in the order in which they appear in the definition of the procedure. Alternatively, you can supply the arguments by name without regard to position. However, with DAO properties and methods, Microsoft recommends that you use only positional arguments. Example of the ProblemThe DAO 3.5 OpenDatabase method uses the following syntax:
If you use the OpenDatabase method by supplying named arguments in the
macro, you may receive one of the errors described in this article. For
example, when you run the following macro, the compile error "Named
Argument Not Found" appears:
Example of the ResolutionTo correct the problem, use positional arguments. To do this, supply the arguments for the method in the correct position, where each argument is delimited by a comma, as shown in the following example:
REFERENCESFor more information about named arguments, click the Index tab in Visual Basic for Applications Help, type the following text named argumentsclick the Display button, and then double-click the "Understanding Named Arguments and Optional Arguments" topic. Additional query words: XL97 8.0 8.00 parameter OpenRecordset
Keywords : kberrmsg kbprg kbdta kbdtacode xldao KbVBA xlvbmigrate |
Last Reviewed: November 4, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |