Upload
darren-morgan
View
217
Download
0
Tags:
Embed Size (px)
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