ACC2000: BuildCriteria Method Returns Error for Certain ExpressionsID: Q197586
|
When you use the BuildCriteria method, you may receive one of the following errors:
Run-time error '2431': The expression you entered contains invalid syntax. You may have entered a comma without a preceding value or identifier.
-or-
Run-time error '2429': The In operator you entered requires parentheses.
-or-
Microsoft 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 a Microsoft Certified Solution Provider or the Microsoft fee-based consulting line at (800) 936-5200. For more information about Microsoft Certified Solution Providers, please see the following page on the World Wide Web:Run-time error '7956': The syntax of the subquery in this expression is incorrect. Check the subquery's syntax and enclose the subquery in parentheses.
http://www.microsoft.com/mcsp/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.asp
You have used an SQL reserved word for the expression argument of the BuildCriteria method. Specifically, you have used either the word "Select" or "In" for your expression, as in the following example:
BuildCriteria("FieldName", dbText, "IN")
When you use the BuildCriteria method, enclose the expression in single quotation marks, as in the following example:
BuildCriteria("FieldName", dbText, "'" & "IN" & "'")
Both "In" and "Select" are SQL Reserved Words that can be used to indicate
the presence of a subquery within a standard SQL statement. When these
words are supplied as the expression argument for the BuildCriteria method, Microsoft Access expects a subquery to follow.
Enclosing the expression argument of the BuildCriteria method in single quotation marks will not affect the behavior of the method for text type arguments. The following code fragment gives an example of how this could be applied within Visual Basic for Applications code:
Dim strMsg As String
Dim strInput As String
Dim strFilter As String
strMsg = "Please enter your text."
' Prompt user for input.
strInput = InputBox(strMsg)
' Build criteria string and assign it to a filter string.
' Enclose the user input within single quotation marks
strFilter = BuildCriteria("Region", dbText, "'" & strInput & "'")
?BuildCriteria("Region", dbText, "In")
?BuildCriteria("Region", dbText, "'" & "In" & "'")
and press ENTER. Note that you receive the following output:
region = 'in'
For more information about the BuildCriteria method, in the Visual Basic Editor, click
Microsoft Visual Basic Help on the Help menu, type "BuildCriteria method" in
the Office Assistant or the Answer Wizard, and then click Search to
view the topic.
Additional query words: prb filter criteria
Keywords : kbdta PgmErr
Version : WINDOWS:2000
Platform : WINDOWS
Issue type : kbprb
Last Reviewed: July 15, 1999