ACC: How to Use DLookup() to Look Up Values in Forms or Reports (93025)



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

SUMMARY

You can display multiple fields in a combo or list box on a form or report even when those fields come from a table that is not bound to the form or report. You can also update controls, such as text boxes, with new information based on what a user selects from a combo or list box.

To accomplish these objectives, you can use one of the following techniques:
  • Use AutoLookup in forms.
  • Use multiple DLookup() functions in forms and reports.
  • Use the Column property of a multiple-column combo box to update a text box control with new information as focus moves from row to row in the combo box.
This article shows you how to use the DLookup() function to look up values in forms or reports.

MORE INFORMATION

DLookup() Function

The syntax for the DLookup() function is a follows:

   DLookup(expr, domain, [criteria])
				


The DLookup() function returns a value from a field in a specified set of records called the domain. The DLookup() function specifies the criteria for the domain. To make the domain dependent on one or more values listed in controls on a form or report, refer to the controls in the DLookup() criteria argument.

The following example looks in the Employees table (the domain) and returns the Last Name of the Employee ID specified in the [ControlName] control on the Form.

In Microsoft Access 7.0 and 97



   =DLookup("[LastName]", "Employees", "[EmployeeID] =_
            Forms![FormName]![ControlName]")
				

In Microsoft Access 1.x and 2.0

NOTE: In the following sample code, an underscore (_) is used as a line- continuation character. Remove the underscore from the end of the line when re-creating this code in Access Basic.

   =DLookup("[Last Name]", "Employees", "[Employee ID] =_
            Forms![FormName]![ControlName]")
				


For reports, use Reports![ReportName]![ControlName].

DLookup() returns one value from a single field even if more than one record satisfies the criteria. If no record satisfies the criteria or if the domain contains no records, DLookup() returns Null.

REFERENCES

For more information about the DLookup() function, search the Help Index for "DLookup," or ask the Microsoft Access 97 Office Assistant.

Modification Type:MajorLast Reviewed:5/9/2003
Keywords:kbhowto kbusage KB93025