Access2007_TablesPartI

Download Report

Transcript Access2007_TablesPartI

ACG 4401
Access 2007
Tables Part I
Datasheet vs. Design View
Creating the Database

Start Access


Getting Started Page Appears
Choose Blank Database

Type in filename



Extension will be .accdb
Choose your folder
Click Crate Button
Backing up the Database

Office Button

Manage

Back Up Database
What the database file
contains?

Tables






New database starts with one (blank)
Forms
Reports
Queries
Macros
Modules
Creating Tables

Datasheet View

Fast and Easy



Drawbacks


Similar in Appearance to Excel
Columns become fields
Data types are “guessed” by Access
Design View



Full Control over each field in your table
Full control over Data Types
Full control over other Field Properties
Datasheet – Creating Table




Select your table (or create a new one)
Enter data in each column
Use a different column for each field
Add Column Names



These will be the names of your fields in
your table
Double-click the column heading and edit
Save your table
Multiple Datasheets


Each table will appear as a Tab
(Access 2007)
Each table will appear as a separate
Window (Access 2003 or earlier)
Design View

Complete Control over the structure of your Tables

Fields/Attributes



Data Types
Other Data Properties
Used to:

Add Fields

End of Table


Between Fields


Move to the row below where you want the new field

Right-click, Choose Insert Rows
Rearrange Fields


Move to last row of field list
Just drag and drop
Delete Fields
Fields Descriptions

Description will appear in the Status
Bar

Control: Provide prompting/feedback to
users
For Each Field




Enter Field Name
Enter Data Type
Enter Description (optional)
Enter/Change Data Type Properties
What are the Data Types










Text
Memo
Number
Currency
Date/Time
Yes/No
Hyperlink
Attachment
AutoNumber
OLE Object
Text


Any Character accepted
Limited to 255 characters


~ 1 paragraph
Properties:

Text Length


For most fields use 50
If you know exact length (e.g. SS#) use the
exact length (e.g. 9)
Memo

Used to store a large amount of
Unformatted text



65k worth of data
~ 1 average book chapter
To Edit large blocks of text (or
anything)

Shift-F2
Number

Field Size depends on Number Type

Byte



Integer





+/- up to 38 zeroes
Decimals to 7 places
Double



-2,147,483,648 – 2,147,483,648
No decimals
Single (Best choice for decimals)


-32,768 – 32,768
No decimals
Long Integer (Access Default)


0-255
No decimals
+/- up to 308 zeroes
Decimals to 15 places
Decimal


+/- up to 28 zeroes
Decimals to 28 places
Currency

Most Efficient for Financial
Calculations
Date/Time


Access stores the Date and Time
Choose how it’s Displayed in the
Format Field
Yes/No

Any field that can be one of two states




Yes/No
On/Off
True/False
Male/Female
Hyperlink



URL
File Address
Email Address
Attachment

Access Stores the file inside the
database




Pictures
Music Files
Word Files
Excel Files
AutoNumber


Remember Primary Keys
Access automatically creates this field type
when you crate a new Table


Unless: Create>>Tables>>Table Design
Default is sequential numbering

Two Options


Random #
Replication ID

Guaranteed to be unique

Useful if database is distributed but will later be
merged
Access 2007
Tables Part II
Data Input Controls
Input Control

From Design

Format the Datasheet

Home>Font





Gridlines
Every other Row Color
Fonts
Text Color
Background
Data Entry Controls

Preventing Blank Fields







Required Property
Allowed Zero Length
Preventing Duplicate Values
Default Values
Input Masks
Validation Rules
Lookups
Preventing Blank Fields

For any required field


Change Required Property to “Yes”
But Access considers “ “ to be data

Change Allow Zero Length Property to
“No”

This also works for number field types if you
want do not want to accept “0” as a number
Preventing Duplicate Values

Indexed Property

Sorts a field in your table


Improves Performance when
searching/querying
Three Options



No (Default)
Yes [Allow Duplicates]
Yes [No Duplicates]
Default Values


Eliminates Need for User Input
Use Default Value Property

Same data is usually entered


For Example, Orlando for city
Dynamic default values

Access inputs the data but it changes based on
condition


Date() Today's date is entered
Text default values must be enclosed in “”
Input Masks

Enforce data value pattern

Phone Number

(407) 823-5739


Social Security Number

111-23-7456


(999) 000-0000
999-99-9999
Inventory Item Number

MB678-Z123

>LL999->L999
Input Mask






Open table in Design View
Select field that will have pattern
Choose Input Mask Property
Click on the small ellipse ...
Choose from the Access provided Masks or Create
your Own
Choose how to store the Data

Store only the data


4078235739
Store the data and extra characters

(407) 823-5739
Creating Your Own Mask

Placeholders


Special Characters


Where should the user input data, and what type
of data is allowed
How to treat data that is entered in the mask
Literals

Formatting for the mask

() in phone number, - for SS #
Placeholder Characters
Character
0
9
#
L
?
A
a
&
C
Description
A required digit
An optional digit
An optional digit or + or A required letter
An optional letter
A required letter or digit
An optional letter or digit
A required character of any type
An optional character of any type
Special Characters
Character Description
!
<
Mask is filled left to right
Converts all characters that follow
to lowercase
>
Converts all characters that follow
to uppercase
Password Any character typed in is replaces
on screen with a *
Field Validation Rules

Restrict data allowed



If data matches rule it can be entered
If data does not match rule Access keeps it out
Applying Validation Rule



Open table in Design View
Select field
Go to Validate Rule Property


Type Expression
Type Error Message in Validation Text Property
Writing Expressions

Validating Numbers


<, >, <>, <=, >=, =, Between
Validating Dates

Dates must be entered between ##



#05/23/2008#
<, >, <=, >=
Date Functions


Date () Today’s date, one second after midnight
Now(0 Today’s date and current time


Validating Text



Starts with
Ends with
Contains


<, >
Like Operator and * wildcard or ? Single character
Combining Validation Conditions


And
Or
Validating Text Examples

Start of text


End of text


Like “*4401”
Contains text anywhere


Like “ACG*”
Like “*A*B*”
Contains text specific place

Like “????7Y2”


Like “####7Y2”


if 1st 4 characters are text
if 1st 4 characters are numbers
Restrict character to certain letters or symbols

Like “[AE]*”


Must begin with A or E
Like “[ABCD]*” or Like “[A-D]*”

Must begin with A, or B, or C, or D
Table Validation Rules


Allows comparison of multiple fields from a table
For example:



Ship Date can NOT be before Order date
Validation Rule = Order Date < Ship Date
To create table validation rule

Open table in Design View




Table Tools > Design > Show/Hide > Property Sheet
Set Validation Rule
Set Validation Text
field names must appear between []


[DateOrdered] < [DateShipped] or
[DateOrdered] <= [DateShipped]
Lookups



Helps to standardize data
Enter a value by choosing from a list
Two Types


List has fixed set values
List comes from another table
Fixed Lookup Lists






Open Table in Design View
Go to field which will have lookup
Change Data type to Lookup Wizard
Choose “I will type in the values that I
need”
Enter the values
Choose if lookup can store multiple
values
Lookup List Property

Disable user ability to add to or
override list


Set the Limit to List property = “Yes”
Allow list modification

Set the Limit to List property = “No”
Access 2007
Tables Part III
Linking Tables
Defining a Relationship

Each relationship links two tables


Primary Key from one table
Foreign key from another table


Primary key value from 1st table
Choose:




Database Tools > Show/Hide > Relationships
Add tables that participate in relationship
Drag the field from one table (the one side) to the related field in
the other table (the many side)
Edit relationship

Set Enforce Referential Integrity


Cascade Deletes


Prevents Insert, Deletion or Update anomalies
You don’t want to do this, but...

It deletes every record in all related tables
Cascade Updates

Any changes made in a link field (the one side) are automatically made
in the linked field (the many side)
Lookups with Related Tables




2nd Lookup Option
Data values come from related table
You must remove any defined relationship before doing the
lookup
Same steps as Lookup described earlier








Choose “I want the lookup column to look up values in a table or
query”
Choose the table
Choose the field for the lookup
Choose a field that describes the lookup field
Choose a field to sort
Choose “Hide Key Column”
Name the lookup
Finish
Access 2007
Queries
Types of Queries

Select


Display data that matches criteria
Action Queries



Append data
Delete data
Update data


Matches criteria
All Queries are Objects stored in the
database
Steps to Create Select Query



Create > Other > Query Design
Select table(s)
Select fields you want displayed




Arrange fields from left to right






Best done by selecting in order you want
But you can drag fields around to re-arrange
To Hide a Column


Double click or
Drag
Choosing * field will select all fields
Uncheck the Show checkbox
Choose a field to sort by
Create your Criteria
Run Your Query
Save the Query
Join Queries

Combine two related tables




Just add two (or more) tables to your
Query Design
Create Relationship


Primary key
Foreign key
If relationship doesn’t already exist
Everything else is the same.
Inner Joins vs Outer Joins

Inner Joins

Only shows linked records



Each Inventory item related to a Vendor
Each Sales order related to a Customer
Outer Joins


Show linked records AND
Other records from one of the two linked tables

All Sales order that match a criteria based on
Customer AND remaining Customers not linked to a
Sales Order
Creating Outer Joins


Right Click Join line in Query
Choose:



Only choose rows where joined fields from both
tables are equal (inner join)
Include All records from “xxxxx” table and only
those records from “yyyyy” table where joined
fields are equal (outer join)
Include All records from “yyyy” table and only
those records from “xxxx” table where joined
fields are equal (outer join)
Creating a Calculated Field


Two Parts:
Calculated field name: Expression

Using field names for the table(s)

Enclose in [] and

[TableName.FieldName]
 [Customer.FirstName]
Math Expressions







+
*
/
^ - Exponentiation 22
\ - Integer Division 5/2 = 2
Mod – Modulas 5/2 = 1 (the remainder)
Writing Expressions


Long Expression?
Shift-F2
Expressions with Text

&


Joins or concatenates fields together
Fullname: [FirstName] & “ “& [LastName]
Query Functions

Function Name()


Inside () put in parameters (if any) that
are needed
Expression Builder



Right Click empty field box in Query
Design
Build
Add/Edit the experssion
Formatting Expressions

Format(Number, format)






Currency
Fixed
Standard
Percent
Scientific
Yes/No


No if number is 0
Yes if number is anything else
Math Functions

Sqr()

Square root


Abs()


Absolute Value
Round()


Sqr(9)
Round(number, # of decimal places)
Val()

Converts text field number to number for a
calculation
Text Functions

Ucase(text)


LCase(text)



Starting from end, gets number of characters
Mid(text, startnumber, endnumber)
Trim(text)


Starting from left, get’s number of characters
Right(text, Number)


Changes text to lowercase
Left(text,Number)


Capitlizes text
Removes blank spaces from either side
Len(text)

Counts number of characters
Date Functions



Date()
Now()
DatePart(partofmonth,
date)










yyyy – 4 digit year
q – Quarter 1 to 4
m – month, 1-12
y – Day of year, 1-365
d – Day , 1-31
w – Day of week, 1-7
ww – Week of the year, 152
h – hour, 1-24
n – Minute, 1-60
S – Second, 1-60
DatePart(“m”,
[DatePlaced]=DatePart(“m”
, Date()) And
DatePart(“yyyy”,
[DatePlaced]=DatePart(“yy
yy, Date())
The order was placed in the
same month and year as
today's month and year
Other Date Functions






DateSerial()
DateAdd()
DateDiff()
MonthName()
WeekdayName()
Format()
Blank Values

Finding blank values


Is Null
Nz()

Two Parameters


Value (usually a field from your query)
What to replace that field with if its Null


0 is the default so you can leave this parameter out
OrderItemCost: Nz([Quanity]) * Nz([Price])
Summarizing Data








Count
Sum
Average
Maximum
Minimum
First
Last
Group By
1.
2.
3.
4.
5.
Create Query
Add table(s)
Add fields
Query Tools|Design >
Show/Hide > Totals
Total row appears in
Query Design form
Total Query Quirks

Each field in the design must be:



Used in a Summary Calculation
Used for Grouping (Sorting)
Used for Filtering
Query Parameters



Flexible Queries
User Supplied Criteria
Steps
1.
2.
3.
Create Query
QueryTools | Design > Show/Hide > Parameters
Choose name and data type for parameter
1.
4.
5.
Data type should match the field data type that you
are using the parameter for
OK
Run The Query
Access 2007
Forms
Why Use Forms

Ease of Use




Reviewing
Editing
Data Entry
Input Process Control
A Simple Form

Two Types

Stacked



Each Field is listed top to bottom
One Record per screen (default)
Tabular



Each Field name becomes a Column
Record’s listed in rows
Similar to DataSheet
Create a Simple Form



Select Table
Create > Forms > Form
Changes to the Form:




Arrange field placement (dragging)
Adjust column widths
Edit field header text
Adjust formatting

Fonts, Colors, etc.
Different Form Views

Form View


Layout View


Where you Review, Add, Edit data
See what your form looks like with Live
data
Design View


Total control over the form
No Live Data
The Layout

Container for various controls on the Form:




Widen one field all others are widened
Move the layout all fields are moved
Rearrange a field in the layout, consistent
spacing is maintained
Create > Forms > Form


Creates One Layout container
You might want more to aid in form design
Using Multiple Layouts

Open form in Design View


Open Property Sheet for Form





Resize for to eliminate all Blank Spaces
Choose Form
Format Tab
Default View
Continuous
To do this from the beginning

Create > Forms > Multiple Items
Split Forms

Two Views of Data



Datasheet
Form Layout
Create > Forms > Split Form
Split Form Properties

Orientation


Size


Top, Bottom, Left, Right
Controls size of datasheet
Datasheet

Read Only

Prevents editing to data in the datasheet
Other Form Properties

Source

Where does the data come from


Allow Edits

No


No, Can’t Delete
Allow Additions


Can’t change anything, but can copy
Allow Deletions


Table or Query
No, Can’t add new records
Data Entry


Yes, the form can only be used to enter data
Form opens blank, no data
Access 2007
Advanced Forms
Using Design View
Design View

No Layout




Access Created Container for Fields
More Control Types
More Responsibility
To crate a form in Design View:

Crate – > Forms -> Form Design
Control Types

Label




Displays list from drop-down
box

Displays value of field
Combines with Label


Checked for Yes
Unchecked for No

Depressed for Yes
Not-pressed for No
Line and Rectangle

Use to separate sections on
the form
User Supplied
Table or Query
Automatically uses for:




Displays entire list on form
Tab Control


Lookup fields
Linked tables
List Box

Toggle Button



Check Box


Fixed Text, anywhere
Combo Box
Text Box



Create Tabbed pages on a
form
Subform


A form inside a form
Usually linked records from
related table
Adding Controls to your Form
1.
2.
3.
4.
5.
6.
7.
8.
Design Tools|Design > Control
Select control you want (click it)
Move control to position on form (release
mouse)
Complete Control Wizard (if any)
View Property sheet for Control
Modify property settings
Change name of control
Format control (optional)
Bound vs. Unbound

Bound Control




Displays value from a field
Changes field value
Adds new data to a field
Unbound

Not linked to any field in the table/query
Control Steps
1.
2.
3.
4.
5.
Create a Control
Move a Control
Resize a Control
Modify a Control
Delete a Control
Changing multiple controls

Select group of controls



Sizing


Selection Box
Align to Left, Right, Top, or Bottom edges
To Widest, To Narrowest, To Tallest, To Shortest
Spacing

Design Tools | Arrange > Position




Make Vertical Spacing Equal
Make Horizontal Spacing Equal
Increase Vertical/Horizontal Spacing
Decrease Vertical/Horizontal Spacing
Form Sections

Detail


Most data fields from table/query
Header/Footer



Title
Summary Information
To create


Right click on Form
Choose Page Header/Footer
Tab Order

Tab Key


Moves cursor to
next field on form
Net field may NOT
be next closest
To Control Tab Order



If you moved fields
around

Fields controls are
numbered





In order of creation
Right-click on form
Choose Tab Order
Choose Details
Section
Auto Order

Access sets order
Drag control to
corrected order
Tab Control Properties

Tab Stop (No)


Auto Tab (only used with Input Mask)


cursor never goes to control;
once field is complete Tab automatically
moves to next control
Tab Index

change the index number of the control
Locked Vs. Enabled Controls

Locked



“Yes”, Can’t edit the field
You can copy the field contents
Enabled


“No”, dims control
No interaction, Can’t edit & Can’t Copy
Performing Calculations



Text Box Control
Unbounded
In Property Sheet, go to Data tab

Add Expression in Control Source
Using the Tab Control

If you have a lot of data to display



Not usually to add new data
Tabs allow you to utilize limited space
And organize related data
Navigation Form using Lists


Make sure Control Wizard is on
Choose List box or Combo Box



Combo Box saves screen space
Place control on the form
Wizard appears:





Find a Record on my Form
Choose field to use for Lookup
Make sure Hide Key column is checked
Enter Text Caption
Finish
The Subform Control


Form with a form
Usually the Many part of a 1:M
relationship


1: part is created as a form with controls
used to create a well designed form
:M part typically uses data sheet view

But can use a designed form as well

Usually would change property to continuous
display
Creating SubForm


Form Design Tools | Design > Controls
Adding manually

Source Object

Table or Query


Designed Form


Displays customized form
Link Master Field


Displays as Datasheet
Field in the form that links to related records in the
sub-form
Link Child Field

Field in sub-form linked to related record(s) in the
main-form
Command Buttons

User Triggered Actions




Types of Actions







Open a Form
Run a Query
Run a Report
Record Navigation
Record Operations
Form Operations
Report Operations
Application
Miscellaneous
You can use these controls to create a menu
system

More about this later.....
Access 2007
Using Forms to Build a Menu
SwitchBoard



A special Form with Command Buttons
One Page is Default
Can have unlimited Pages


Menu
Sub-Menu
Creating SwitchBoard
1.
2.
3.
4.
5.
6.
Database Tools > Database Tools >
SwitchBoard Manager
Choose Yes to Create one
Or Click Edit if one Exists
New, to create new Menu
Write Menu Text and Choose
Command option
Close
SwitchBoard Options

Go to Switchboard






Used to navigate to/from menu and submenu pages
Open Form in Add Mode
Open Form in Edit Mode
Open Report (in Print Preview mode)
Exit Application
Run Macro or Run Code
Starting Access with
Switchboard
1.
2.
3.
Choose Office Button > Access
Options
Click Current Database
Applications Options > Display Form
box
1.
4.
Choose Switchboard Form
Optionally, clear checkbox for
navigation pane
Ensure your Switchboard appears
on Top of open windows




Open Switchboard in Design View
Go to form properties
Other Tab
Pop up to “Yes”