ACC: Using Variables in the Criteria Row of the QBE Grid (114511)



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 Q114511
Moderate: Requires basic macro, coding, and interoperability skills.

SUMMARY

You cannot use a variable in the Criteria row of the Query by Example (QBE) grid because Microsoft Access will assume that the variable name is a literal text string. However, you can use a function name in the QBE grid and have the function return the value of the variable.

This article assumes that you are familiar with Visual Basic for Applications and with creating Microsoft Access applications using the programming tools provided with Microsoft Access. For more information about Visual Basic for Applications, please refer to your version of the "Building Applications with Microsoft Access" manual.

NOTE: Visual Basic for Applications is called Access Basic in Microsoft Access versions 1.x and 2.0. For more information about Access Basic, please refer to the "Introduction to Programming" manual in Microsoft Access version 1.x or the "Building Applications" manual in Microsoft Access version 2.0

MORE INFORMATION

The following example shows you how to create a form based on a query that uses the value of a global variable as a criterion:

  1. Open the sample database Northwind.mdb (NWIND.MDB in Microsoft Access 2.0 and 1.x).
  2. Create a new query based on the Employees table. Drag the FirstName, LastName, Address, and City fields to the QBE grid.

    NOTE: In versions 1.x and 2.0, there is a space in First Name and Last Name field names.
  3. In the criteria cell of the LastName column, type the following function name:

    ReturnVariable()

  4. Save the query as Variable Criteria Query, and then close it.
  5. Create a new module and type the following line in the Declarations section if it is not already there:

    Option Explicit

  6. Type the following function in the module:
          Function ReturnVariable()
             ' MyVar could also be a global variable set in
             ' a different function.
             Dim MyVar as String
             MyVar = "Davolio"
             ReturnVariable = MyVar
          End Function
    						
  7. Save the module as Variable Criteria Module, and then close it.
  8. Open the Variable Criteria Query created in step 4. Note that only the record for Nancy Davolio appears.

Modification Type:MinorLast Reviewed:10/11/2006
Keywords:kbinfo kbProgramming kbusage KB114511