Access Queries Agenda 6/16/14 Review Access Project Part 1, answer questions Discuss queries:...

Preview:

Citation preview

Access Queries• Agenda 6/16/14• Review Access Project Part 1, answer questions• Discuss queries:

• Turning data stored in a database into information for decision making.

• Highlight key issues about queries• Answer any questions about queries to prepare you to complete part 2 of

the Access Project.

What is a query?• Turning data stored in a database into information for decision

making.• A query creates a “virtual table”.• Table vs query:• What is the difference between a query and a table?• What is the difference between a query datasheet and a table

datasheet?• Why do we create queries when we already have the data in

tables?

Table vs Query Cont.• Table contains structure of data, constraints and actual data.• Table is referred to as “underlying data”.

• Query is a way to look at the data.• Queries seldom look at the complete contents of a table because

tables are usually very big, with many columns and many rows.• A query reduces the number of rows and columns in the

underlying data (tables) to provide information for decision making.

• Queries “filter” the data; fewer columns, fewer rows, calculated fields, summarized information.

• A query enhances the data in the underlying tables by added calculations and logical conditions.

MS Access query vocabulary review

• Design view: Used to structure a query. Referred to as “query by example” or QBE.

• Result table: The table produced by the query. Shown in the datasheet view.

• SELECT query window: The window displayed in design view that is filled out to produce a result table. Also called the query design grid.

• Field row: The area in the SELECT query window used to define what columns should appear in the result table.

• Criteria row: The area in the SELECT query window used to identify which rows should appear in the result table.

Understanding data like a computer understands data• Each value in a field has very specific data coded for a

computer to read.• Humans can discern vague similarities and differences among

data fairly easily. Computers are more exacting.• Computers need you to tell them when data is a date, or a

character, or a number. • A zero is not the same as a blank which is not the same as a

null.• A null is a special character assigned to a field that technically

has “no value”. It is very useful because we can search for a null value with special operators.

Types of queries• Generalized queries• Using one or multiple tables• Specify the fields and records you want to Select.

• Aggregate queries• Create one line in the result table.

• OR

• Create multiple groups in the result table.• Use the “Totals” Button

• Parameter queries• Type of query that prompts the user for input before it runs. The

query then uses the input as criteria that control your results. Example: City Parameter query in Panorama database.

Queries with multiple tables• Referred to as “joining” tables.• Can produce confusing results.• Very dependent on a well-designed database. The tables must

be related with appropriate foreign keys or the tables cannot be joined correctly for queries.

• All tables in the query must be joined for the query to work properly!

Relational operators• Computers require very explicit instructions.• Used in criteria to specify what records to include in the query.• Normally, must be very explicit about relational operators on

the conditions of queries.• =, >, <, >=, <=• Like• Between• In – Define a condition with a list of two or more values for a field• Is

• Wildcard is an asterisk.

And vs Or

Logical Operators• You use the logical operators to combine two Boolean values

and return a true, false, or null result. Logical operators are also referred to as Boolean operators.

• And: Returns True when Expr1 and Expr2 are true.• Example: InvoiceAmt >$500 And City = Lansing

• Or: Returns True when either Expr1 or Expr2 are true.• Example: InvoiceAmt > $500 OR City = Lansing

• Not: Returns True when Expr is not true.• Example: Not In ("holland","rockford","saugatuck")

New columns based on calculations

• Can do calculations for a column based on the data in other columns for that same row.

• Can use mathematical operators.• Can use pre-written functions in MS Access. Many different

types of pre-written functions for date handling, data type conversion, calculations, etc.• See the pre-written functions in the expression builder.

• Can be very simple to very complicated.

Calculations and Expressions• Access has many of the same calculations and functions as

Excel• Calculations can be added to:• Tables• Queries• Forms• Reports

Building expressions

Expression Builder• To perform a calculation, you define an expression containing a

combination of database fields, constants, and operators• Expression Builder is an Access tool that makes it easy for you

to create an expression• In the Query Setup group on the Design tab, click the Builder

button• Use the expression elements and common operators to build the

expression, or type the expression directly in the expression box• Click the OK button• The Expression Builder is used to create mathematical functions• 125 built-in functions in Access

14

Formatting and saving Calculated results

IIF• The IIf (Immediate If) function assigns one value to a

calculated field or control if a condition is true, and a second value if the condition is false.

• Date Function• Calculates the current date• No parameters• Used as default date value• Syntax:

• Date()

Advanced Functions - Dates

17

• Parameters of the DatePart Function• interval• date• firstdayofweek• firstweekofyear

Perform Date Arithmetic

18

• Examples of the DatePart Function:

Perform Date Arithmetic

19

• Apply criteria and grouping to DatePart results• A calculated field using DatePart can have criteria applied to extract

specific information• Example of a DatePart function with criteria:

• DatePart(“m”, [Employees]![HireDate])

Perform Date Arithmetic

Copyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall. 20

• Round Function• Returns a number rounded to a specific number of decimal places• Precision determines decimal places• If precision is blank, assumes nearest whole number• Syntax:

• Round(expression, precision)

Advanced Functions - Round

21

• IsNull Function• Checks whether a field has no value assigned• Useful in comparisons• Syntax:

• IsNull(expression)

Advanced Functions - IsNull

22

Assigning a Conditional Value to a Calculated Field• The & (ampersand) operator is a concatenation operator

that joins text expressions, the plus sign (+) has the same function.• The IsNull function tests a field value or an expression

for a null value; if the field value or expression is null, the result is true; otherwise, the result is false

23

Aggregate functions• Aggregate functions are used to create grouped output.• Common summary calculations have pre-written functions:• Sum, count• Max, min• Avg,

• Calculations can be done for all data in the result table or to create grouped output in the result table.

• The Group By operator divides the selected records into groups based on the values in the specified field

• IIf Function creates conditional output• Evaluates an expression and displays one value when expression is

true and another value when false• Three parts: question, what to do if yes, what to do if no• Syntax:

• IIf(expression, truepart, falsepart)

Advanced Functions - IIF

25

IIF Example• Frequently want to see if something is TRUE or FALSE.• Example: If a training event has > $500 in expenses, then it is

a high expense event.• Logical condition for Access:• IIF(ProductCost > ProductPrice, “Losing Money”)• IIF(ISNULL(trainingexpenses + travelexpenses), 0)• IIF(ISNULL(trainingexpenses + travelexpenses), 0,

trainingexpenses + travelexpenses)

• Combine IIf with other expressions• The IIf function is often combined with other expressions• Example of an IIf function combined with an expression:

• IIf(Date() – [RegistrationDate] <=7, “New Registration”, “Registered”)

Advanced Functions - IIf

27

• Nesting functions• Using one function within another function• Functions separated by parentheses and brackets• Example of a nested function:

• Sqr(Abs([Hypotenuse]))

Advanced Functions - Nesting

28

Wildcards

Create a Parameter Query• Parameter query – a type of query where the user provides

criterion at run time instead of in advance• Provides flexibility• Reduces development time• Can be used repeatedly

Create a Parameter Query• Example of criteria entry when creating a parameter query:

Common Errors• Forgetting a colon• Typing a field name incorrectly• Forgetting the order of operations

Recommended