0% found this document useful (0 votes)
19 views12 pages

ACCESS 3 Query Criteria

MS Access Query Practice

Uploaded by

jsh52380
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views12 pages

ACCESS 3 Query Criteria

MS Access Query Practice

Uploaded by

jsh52380
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

CISY1225 Access 3

Spring 2010

Query Criteria
Access 2007: Query criteria examples
1. Introduction to Query criteria
2. Criteria for Text, Memo, and Hyperlink fields
3. Criteria for Number, Currency, and AutoNumber fields
4. Criteria for Date/Time fields
5. Criteria for other fields

When you want to limit the results of a query based on the values in a field, you use query criteria. A query
criterion is an expression that Access compares to query field values to determine whether to include the record
that contains each value. For example, = "Chicago" is an expression that Access can compare to values in a text
field in a query. If the value for that field in a given record is "Chicago", Access includes the record in the query
results.

1. Introduction to query criteria


A criterion is similar to a formula — it is a string that may consist of field references, operators and constants.
Query criteria are also referred to as expressions in Microsoft Office Access 2007.
The following table shows some sample criteria and explains how they work:

Criteria Description
This criterion applies to a Number field, such as Price or UnitsInStock. It includes only
>25 and <50 those records where the Price or UnitsInStock field contains a value greater than 25 and
less than 50.
DateDiff ("yyyy", This criterion applies to a Date/Time field, such as BirthDate. Only records where the
[BirthDate], Date()) > number of years between a person's birthdate and today's date is greater than 30 are
30 included in the query result.
This criterion can be applied to any type of field to show records where the field value is
Is Null
null.
As you can see, criteria can look very different from each other, depending on the data type of the field to which
they apply and your specific requirements. Some criteria are simple, and use basic operators and constants. Others
are complex, and use functions, special operators, and include field references.
This topic lists several commonly used criteria by data type. If the examples given in this topic do not address your
specific needs, you might need to write your own criteria. To do that, you must first familiarize yourself with the
full list of functions, operators, special characters, and the syntax for expressions referring to fields and literals.
To add criteria to a query, you must open the query in Design view. You then identify the fields for which you want
to specify criteria. If the field is not already in the design grid, you add it by either dragging it from the query design
window to the field grid, or by double-clicking the field (Double-clicking the field automatically adds it to the next
empty column in the field grid.). Finally, you type the criteria in the Criteria row.
Criteria that you specify for different fields in the Criteria row are combined by using the AND operator. In other
words, the criteria specified in the City and BirthDate fields are interpreted like this:
City = "Chicago" AND BirthDate < DateAdd("yyyy", -40, Date())

The City and BirthDate fields include criteria.

Only records where the value of the City field is


Chicago will satisfy this criterion.

Only records of those who are at least 40 years


old will satisfy this criterion.

Only records that meet both criteria will be


included in the result.

BUT what if you want only one of these conditions to be met? In other words, if you have alternate criteria, how
do you enter them?
If you have alternate criteria, or two sets of independent criteria where it is sufficient to satisfy one set, you use
both the Criteria and the or rows in the design grid.
Criteria specified in the Criteria and or rows are combined using the OR operator, as shown below:
City = "Chicago" OR BirthDate < DateAdd("yyyy", -40, Date())
If you need to specify more alternatives, use the rows below the or row.

The City criterion is specified in the Criteria


row.

The BirthDate criterion is specified in the or


row.
Before you continue with the examples, note the following:
• If the criteria is temporary or changes often, you can filter the query result instead of frequently
modifying the query criteria. A filter is a temporary criterion that changes the query result without
altering the design of the query. For more information about filters, see the article Filter: Limit the
number of records in a view.
• If the criteria fields don't change, but the values you are interested in do change frequently, you can
create a parameter query. A parameter query prompts the user for field values, and then uses those
values to create the query criteria.

2. Criteria for Text, Memo, and Hyperlink fields

The following examples are for the CountryRegion


field in a query that is based on a table that stores
contacts information. The criterion is specified in the
Criteria row of the field in the design grid.

To include records
Use this criterion Query result
that...
Exactly match a value, Returns records where the CountryRegion field is set to
"China"
such as China China.
Do not match a value, Returns records where the CountryRegion field is set to a
Not "Mexico"
such as Mexico country/region other than Mexico.
Returns records for all countries/regions whose names start
with "U", such as UK, USA, and so on.
Begin with the specified Note When used in an expression, the asterisk (*)
Like U*
string, such as U represents any string of characters — it is also called a
wildcard character. For a list of such characters, see the
article Access wildcard character reference.
Do not begin with the
Returns records for all countries/regions whose names start
specified string, such as Not Like U*
with a character other than "U".
U
Returns records for all countries/regions that contain the
Contain the specified
Like "*Korea*" string "Korea".
string, such as Korea
Do not contain the
Returns records for all countries/regions that do not
specified string, such as Not Like "*Korea*"
contain the string "Korea".
Korea
End with the specified Returns records for all countries/regions whose names end
Like "*ina"
string, such as "ina" in "ina", such as China and Argentina.
Do not end with the
Returns records for all countries/regions that do not end in
specified string, such as Not Like "*ina"
"ina", such as China and Argentina.
"ina"
Contain null (or missing)
Is Null Returns records where there is no value in the field.
values
Do not contain null
Is Not Null Returns records where the value is not missing in the field.
values
Returns records where the field is set to a blank (but not
Contain zero-length null) value. For example, records of sales made to another
"" (a pair of quotes)
strings department might contain a blank value in the
CountryRegion field.
Do not contain zero- Returns records where the CountryRegion field has a
Not ""
length strings nonblank value.
Contains null values or Returns records where there is either no value in the field,
"" Or Is Null
zero-length strings or the field is set to a blank value.
Returns records where the CountryRegion field has a
Is not empty or blank Is Not Null And Not ""
nonblank, non-null value.
Follow a value, such as
Returns records of all countries/regions, beginning with
Mexico, when sorted in >= "Mexico"
Mexico and continuing through the end of the alphabet.
alphabetical order
Fall within a specific
Returns records for countries/regions whose names start
range, such as A through Like "[A-D]*"
with the letters "A" through "D".
D
Match one of two
values, such as USA or "USA" Or "UK" Returns records for USA and UK.
UK
Contain one of the In("France", "China", Returns records for all countries/regions specified in the
values in a list of values "Germany", "Japan") list.
Contain certain
characters at a specific Right([CountryRegion], 1) Returns records for all countries/regions where the last
position in the field = "y" letter is "y".
value
Satisfy length Returns records for countries/regions whose name is more
Len([CountryRegion]) > 10
requirements than 10 characters long.
Returns records for countries/regions, such as China and
Match a specific pattern Like "Chi??" Chile, whose names are five characters long and the first
three characters are "Chi".
Note The characters ? and _, when used in an expression, represent a single character — these are also called
wildcard characters. The character _ cannot be used in the same expression with the ? character, nor can it be
used in an expression with the * wildcard character. You may use the wildcard character _ in an expression that
also contains the % wildcard character.

OPTIONAL: A criterion that you specify for a Hyperlink field is, by default, applied to the display text portion of the
field value. To specify criteria for the destination Uniform Resource Locator (URL) portion of the value, use the
HyperlinkPart expression. The syntax for this expression is as follows:
HyperlinkPart([Table1].[Field1],1) = "http://www.microsoft.com/", where Table1 is the name of the table
containing the hyperlink field, Field1 is the hyperlink field, and http://www.microsoft.com is the URL you want to
match.

3. Criteria for Number, Currency, and


AutoNumber fields
The following examples are for the UnitPrice field in a query that is
based on a table that stores products information. The criterion is
specified in the Criteria row of the field in the query design grid.

To include Use this


Query Result
records that... criterion
Exactly match a
value, such as 100 Returns records where the unit price of the product is $100.
100
Do not match a
value, such as Not 1000 Returns records where the unit price of the product is not $1000.
1000
Contain a value
Returns records where the unit price is less than $100 (<100). The second
smaller than a < 100
expression (<=100) displays records where the unit price is less than or equal to
value, such as <= 100
$100.
100
Contain a value
larger than a >99.99 Returns records where the unit price is greater than $99.99 (>99.99). The second
value, such as >=99.99 expression displays records where the unit price is greater than or equal to $99.99.
99.99
Contain one of
the two values, 20 or 25 Returns records where the unit price is either $20 or $25.
such as 20 or 25
>49.99 and
Contain a value <99.99
Returns records where the unit price is between (but not including) $49.99 and
that falls with a -or-
$99.99.
range of values Between
50 and 100
Contain a value
<50 or
that falls outside Returns records where the unit price is not between $50 and $100.
>100
a range
Contain one of
In(20, 25,
many specific Returns records where the unit price is either $20, $25, or $30.
30)
values
Returns records where the unit price ends with "4.99", such as $4.99, $14.99,
$24.99, and so on.
Contain a value
Note The characters * and %, when used in an expression, represent any number
that ends with Like
of characters — these are also called wildcard characters. The character % cannot
the specified "*4.99"
be used in the same expression with the * character, nor can it be used in an
digits
expression with the ? wildcard character. You may use the wildcard character % in
an expression that also contains the _ wildcard character.
Contain null null
(or missing) Is Null Returns records where no value is entered in the UnitPrice field.
values
Is
Contain non-null
Not Returns records where the value is not missing in the UnitPrice field.
values
Null

4. Criteria for Date/Time fields


The following examples are for the OrderDate field in a query based on a
table that stores Orders information. The criterion is specified in the Criteria
row of the field in the query design grid.
To include records
Use this criterion Query result
that ...
Returns records of transactions that
took place on Feb 2, 2006.
Exactly match a
Remember to surround date values
value, such as #2/2/2006#
with the # character so that Access
2/2/2006
can distinguish between date values
and text strings.
Do not match a Returns records of transactions that
value, such as Not #2/2/2006# took place on a day other than Feb
2/2/2006 2, 2006.
Returns records of transactions that
Contain values that
took place before Feb 2, 2006.
fall before a certain
< #2/2/2006# To view transactions that took place
date, such as
on or before this date, use the <=
2/2/2006
operator instead of the < operator.
Returns records of transactions that
Contain values that
took place after Feb 2, 2006.
fall after a certain
> #2/2/2006# To view transactions that took place
date, such as
on or after this date, use the >=
2/2/2006
operator instead of the > operator.
Returns records where the
transactions took place between
Feb 2, 2006 and Feb 4, 2006.
Contain values that You can also use the Between
fall within a date >#2/2/2006# and <#2/4/2006# operator to filter for a range of
range values, including the end points. For
example, Between #2/2/2006# and
#2/4/2006# is the same as
>=#2/2/2006# and <=#2/4/2006# .
Returns records where the
Contain values that
<#2/2/2006# or >#2/4/2006# transactions took place before Feb
fall outside a range
2, 2006 or after Feb 4, 2006.
Contain one of two
Returns records of transactions that
values, such as
#2/2/2006# or #2/3/2006# took place on either Feb 2, 2006 or
2/2/2006 or
Feb 3, 2006.
2/3/2006
Returns records where the
Contain one of many transactions took place on Feb 1,
In (#2/1/2006#, #3/1/2006#, #4/1/2006#)
values 2006, March 1, 2006, or April 1,
2006.
Contain a date that DatePart("m", [SalesDate]) = 12 Returns records where the
falls in a specific transactions took place in
month (irrespective December of any year.
of year), such as
December
Contain a date that
falls in a specific Returns records where the
quarter (irrespective DatePart("q", [SalesDate]) = 1 transactions took place in the first
of year), such as the quarter of any year.
first quarter
Returns records of transactions that
took place on the current day. If
Contain today's date Date() today's date is 2/2/2006, you see
records where the OrderDate field
is set to Feb 2, 2006.
Returns records of transactions that
took place the day before the
Contain yesterday's
Date()-1 current day. If today's date is
date
2/2/2006, you see records for Feb
1, 2006.
Returns records of transactions that
Contain tomorrow's took place the day after the current
Date() + 1
date day. If today's date is 2/2/2006, you
see records for Feb 3, 2006.
Returns records of transactions that
Contain dates that
DatePart("ww", [SalesDate]) = DatePart("ww", Date()) took place during the current week.
fall during the
and Year( [SalesDate]) = Year(Date()) A week starts on Sunday and ends
current week
on Saturday.
Returns records of transactions that
Contain dates that
Year([SalesDate])* 53 + DatePart("ww", [SalesDate]) = took place during the last week. A
fell during the
Year(Date())* 53 + DatePart("ww", Date()) - 1 week starts on Sunday and ends on
previous week
Saturday.
Returns records of transactions that
Contain dates that
Year([SalesDate])* 53+DatePart("ww", [SalesDate]) = will take place next week. A week
fall during the
Year(Date())* 53+DatePart("ww", Date()) + 1 starts on Sunday and ends on
following week
Saturday.
Returns records of transactions that
Contain a date that took place during the last 7 days. If
fell during the last 7 Between Date() and Date()-6 today's date is 2/2/2006, you see
days records for the period Jan 24, 2006
through Feb 2, 2006.
Contain a date that Returns records for the current
Year([SalesDate]) = Year(Now()) And
belongs to the month. If today's date is 2/2/2006,
Month([SalesDate]) = Month(Now())
current month you see records for Feb 2006.
Contain a date that Returns records for the previous
Year([SalesDate])* 12 + DatePart("m", [SalesDate]) =
belongs to the month. If today's date is 2/2/2006,
Year(Date())* 12 + DatePart("m", Date()) - 1
previous month you see records for Jan 2006.
Contain a date that Returns records for the next month.
Year([SalesDate])* 12 + DatePart("m", [SalesDate]) =
belongs to the next If today's date is 2/2/2006, you see
Year(Date())* 12 + DatePart("m", Date()) + 1
month records for Mar 2006.
A month's worth of sales records. If
Contain a date that
today's date is 2/2/2006, you see
fell during the last 30 Between Date( ) And DateAdd("M", -1, Date( ))
records for the period Jan 2, 2006.
or 31 days
to Feb 2, 2006
Returns records for the current
Contain a date that
Year([SalesDate]) = Year(Now()) And DatePart("q", quarter. If today's date is 2/2/2006,
belongs to the
Date()) = DatePart("q", Now()) you see records for the first quarter
current quarter
of 2006.
Returns records for the previous
Contain a date that
Year([SalesDate])*4+DatePart("q",[SalesDate]) = quarter. If today's date is 2/2/2006,
belongs to the
Year(Date())*4+DatePart("q",Date())- 1 you see records for the last quarter
previous quarter
of 2005.
Returns records for the next
Contain a date that
Year([SalesDate])*4+DatePart("q",[SalesDate]) = quarter. If today's date is 2/2/2006,
belongs to the next
Year(Date())*4+DatePart("q",Date())+1 you see records for the second
quarter
quarter of 2006.
Contain a date that Returns records for the current
falls during the Year([SalesDate]) = Year(Date()) year. If today's date is 2/2/2006,
current year you see records for the year 2006.
Returns records of transactions that
Contain a date that
took place during the previous year.
belongs to the Year([SalesDate]) = Year(Date()) - 1
If today's date is 2/2/2006, you see
previous year
records for the year 2005.
Returns records of transactions
Contain a date that with next year's date. If today's
Year([SalesDate]) = Year(Date()) + 1
belongs to next year date is 2/2/2006, you see records
for the year 2007.
Returns records of transactions
Contain a date that with dates that fall between Jan 1
Year([SalesDate]) = Year(Date()) and
falls between Jan 1 of the current year and today. If
Month([SalesDate]) <= Month(Date()) and
and today (year to today's date is 2/2/2006, you see
Day([SalesDate]) <= Day (Date())
date records) records for the period Jan 1, 2006
to to 2/2/2006.
Contain a date that < Date() Returns records of transactions that
occurred in the past took place before today.
Contain a date that Returns records of transactions that
> Date()
occurrs in the future will take place after today.
Filter for null (or Returns records where the date of
Is Null
missing) values transaction is missing.
Filter for non-null Returns records where the date of
Is Not Null
values transaction is known.

5. Criteria for other fields

Yes/No fields In the Criteria row, type Yes to include records where the check box is selected. Type No to
include records where the check box is not selected.

Attachments In the Criteria row, type Is Null to include records that do not contain any attachments. Type
Is Not Null to include records that contain attachments.

Lookup fields There are two types of Lookup fields: those that look up values in an existing data source (by
using a foreign key), and those that are based on a list of values specified when the Lookup field is created.
Lookup fields that are based on a list of specified values are of the Text data type, and valid criteria are the
same as for other text fields.
The criteria you can use in a Lookup field based on values from an existing datasource depend on the data
type of the foreign key, rather than the data type of the data being looked up. For example, you may have a
Lookup field that displays Employee Name, but uses a foreign key that is of the Number data type. Because
the field stores a number instead of text, you use criteria that work for numbers; that is, >2.
If you do not know the data type of the foreign key, you can inspect the source table in Design view to
determine the data types of the field. To do this:
1. Locate the source table in the Navigation Pane.
2. Open the table in Design view by either:
o Clicking the table, and then pressing CTRL+ENTER
o Right-clicking the table, and then clicking Design View.
3. The data type for each field is listed in the Data Type column of the table design grid.

Multivalued fields Data in a multivalued field are stored as rows in a hidden table that Office Access 2007
creates and populates to represent the field. In query Design view, this is represented in the Field List by using
an expandable field. To use criteria for a multivalued field, you supply criteria for a single row of the hidden
table. To do this:
1. Create a query containing the multivalued field, and open it in Design view.
2. Expand the multivalued field by clicking the plus symbol (+) next to it — if the field is already expanded,
this is a minus symbol (-). Just below the name of the field, you will see a field representing a single value
of the multivalued field. This field will have the same name as the multivalued field, with the string .Value
appended.
3. Drag the multivalued field and its single value field to separate columns in the design grid. If you want to
see only the complete multivalue field in your results, clear the Show check box for the single value field.
4. Type your criteria in the Criteria row for the single value field, using criteria that is appropriate for
whatever type of data the values represent.
5. Each value in the multivalued field will be individually evaluated using the criteria you supply. For
example, you may have a multivalued field that stores a list of numbers. If you supply the criteria >5 AND
<3, any record where there is at least one value greater than 5 and one value less than 3 will match.

Original page: http://office.microsoft.com/en-us/access/HA100666111033.aspx?pid=CH100645771033

© 2009 Microsoft Corporation. All rights reserved.

You might also like