How To Query for Dates Using a SQL Statement in Visual Basic (105173)



The information in this article applies to:

  • Microsoft Visual Basic Professional Edition, 16-bit, for Windows 4.0
  • Microsoft Visual Basic Enterprise Edition, 16-bit, for Windows 4.0
  • Microsoft Visual Basic Standard Edition for Windows 3.0
  • Microsoft Visual Basic Professional Edition for Windows 3.0

This article was previously published under Q105173

SUMMARY

When you query for Dates in a Microsoft Access database, you may receive an incorrect result or a 'Type Mismatch' error message. To query for a date in a SQL statement in Visual Basic for Windows, enclose the date in pound signs (#).

NOTE: This article shows dates written in American format (MM/DD/YYYY). For example, 12/31/1960.

MORE INFORMATION

The following example code selects every field from the Employees table in the Nwind.mdb sample database where the field Birth Date is greater than 12/31/1960. Nwind.mdb is the Microsoft Access sample database provided with Microsoft Access versions 1.0 and 1.1, and 2.0.
   ' Data1 is a data control.
   Data1.DataBaseName = "C:\ACCESS\NWIND.MDB"
   ' Enter the following two lines as one, single line:
   Data1.RecordSource = "SELECT * FROM Employees

WHERE [Birth Date] > #12/31/1960#"

   Data1.Refresh

   ' The following example uses FindFirst with the same Data Control:
   Data1.RecordSet.FindFirst "[Hire Date] <= #9/21/1992#"
				

Modification Type:MinorLast Reviewed:6/14/2005
Keywords:kbhowto KB105173