Microsoft Access Tutorial




MS Access is frequently used by small companies to create simple database solutions. Using Access, you don’t have to know too much about databases and will still be able to easily construct simple, aesthetically pleasing database solutions. This file has hyperlinks to some reference material. The bulk of the material that follows was copied from the following website:


Part 1: Tables


A database is the container for the data and associated objects.  Objects include tables, queries, forms, reports, macros, and modules.   In Access, the “table” holds the actual data, so begin your review with basic table operations.  If required, you can review the following before starting (headings are linked to an online Tutorial).

  • A database is a collection of related information.
  • A table is a grouping of related data organized in fields (columns) and records (rows) on a datasheet. By using a common field in two tables, the data can be combined. Many tables can be stored in a single database.
  • A field is a column on a datasheet and defines a data type for a set of values in a table. For a mailing list table might include fields for first name, last name, address, city, state, zip code, and telephone number.
  • A record in a row on a datasheet and is a set of values defined by fields. In a mailing list table, each record would contain the data for one person as specified by the intersecting fields.
  • Design View provides the tools for creating fields in a table.
  • Datasheet View allows you to update, edit, and delete in formation from a table.




Getting Started

  • A few terms
  • Getting started
  • Blank Access database
  • Access database wizards, pages, and projects
  • Open an existing database
  • Converting to Access 2000

Screen Layouts

  • Database window: tables, queries, forms, reports, macros, modules
  • Design view:  develop layouts and define table attributes
  • Datasheet view: data view.  Able to enter data directly into table

Creating Tables

Introduction to Tables

Tables are grids that store information in a database similar to the way an Excel worksheet stores information in a workbook. Access provides three ways to create a table for which there are icons in the Database Window. Double-click on the icons to create a table.

[Database Window]
the Database Window

  • Create table in Design view will allow you to create the fields of the table. This is the most common way of creating a table and is explained in detail below.
  • Create table using wizard will step you through the creation of a table.
  • Create table by entering data will give you a blank datasheet with unlabelled columns that looks much like an Excel worksheet. Enter data into the cells and click the Save button. You will be prompted to add a primary key field. After the table is saved, the empty cells of the datasheet are trimmed. The fields are given generic names such as "Field1", "Field2", etc. To rename them with more descriptive titles that reflect the content of the fields, select Format|Rename Column from the menu bar or highlight the column, right-click on it with the mouse, and select Rename Column from the shortcut menu.


For this class you should create tables using the Design view only!!

Create a Table in Design View

Design View will allow you to define the fields in the table before adding any data to the datasheet. The window is divided into two parts: a top pane for entering the field name, data type, and an option description of the field, and a bottom pane for specifying field properties.

[Design View]

  • Field Name - This is the name of the field and should represent the contents of the field such as "Name", "Address", "Final Grade", etc. The name can not exceed 64 characters in length and may include spaces.
  • Data Type is the type of value that will be entered into the fields.
    • Text - The default type, text type allows any combination of letters and numbers up to a maximum of 255 characters per field record.
    • Memo - A text type that stores up to 64,000 characters.
    • Number - Any number can be stored.
    • Date/Time - A date, time, or combination of both.
    • Currency - Monetary values that can be set up to automatically include a dollar sign ($) and correct decimal and comma positions.
    • AutoNumber - When a new record is created, Access will automatically assign a unique integer to the record in this field. From the General options, select Increment if the numbers should be assigned in order or random if any random number should be chosen. Since every record in a datasheet must include at least one field that distinguishes it from all others, this is a useful data type to use if the existing data will not produce such values.
    • Yes/No - Use this option for True/False, Yes/No, On/Off, or other values that must be only one of two.
    • OLE Object - An OLE (Object Linking and Embedding) object is a sound, picture, or other object such as a Word document or Excel spreadsheet that is created in another program. Use this data type to embed an OLE object or link to the object in the database.
    • Hyperlink - A hyperlink will link to an Internet or Intranet site, or another location in the database. The data consists of up to four parts each separated by the pound sign (#): DisplayText#Address#SubAddress#ScreenTip. The Address is the only required part of the string. Examples:

Internet hyperlink example:

FGCU Home Page#

Database link example:

#c:\My Documents\database.mdb#MyTable

  • Description (optional) - Enter a brief description of what the contents of the field are.
  • Field Properties - Select any pertinent properties for the field from the bottom pane.

Field Properties

Properties for each field are set from the bottom pane of the Design View window.

  • Field Size is used to set the number of characters needed in a text or number field. The default field size for the text type is 50 characters. If the records in the field will only have two or three characters, you can change the size of the field to save disk space or prevent entry errors by limiting the number of characters allowed. Likewise, if the field will require more than 50 characters, enter a number up to 255. The field size is set in exact characters for Text type, but options are give for numbers:
    • Byte - Positive integers between 1 and 255
    • Integer - Positive and negative integers between -32,768 and 32,768
    • Long Integer (default) - Larger positive and negative integers between -2 billion and 2 billion.
    • Single - Single-precision floating-point number
    • Double - Double-precision floating-point number
    • Decimal - Allows for Precision and Scale property control
  • Format conforms the data in the field to the same format when it is entered into the datasheet. For text and memo fields, this property has two parts that are separated by a semicolon. The first part of the property is used to apply to the field and the second applies to empty fields.

    Text and memo format.

Text Format


Datasheet Entry






@ indicates a required
character or space




& indicates an optional
character or space




< converts characters to lowercase




> converts characters to uppercase




\ adds characters to the end

@;"No Data Entered"




@;"No Data Entered"


No Data Entered


  • Number format. Select one of the preset options from the drop down menu or construct a custom format using symbols explained below:

Number Format


Datasheet Entry






0 is a placeholder that displays a digit or 0 if there is none.
# is a placeholder that displays a digit or nothing if there is none.







% multiplies the number by 100 and added a percent sign

  • Currency format. This formatting consists of four parts separated by semicolons:
    format for positive numbers; format for negative numbers; format for zero values; format for Null values.

Currency Format




Positive values will be normal currency format, negative numbers will be red in parentheses, zero is entered for zero values, and "none" will be written for Null values.

  • Date format. In the table below, the value "1/1/01" is entered into the datasheet, and the following values are displayed as a result of the different assigned formats.

Date Format




dddd","mmmm d","yyyy

Monday, January 1, 2001

dddd, mmmm, and yyyy print the full day name, month name, and year

ddd","mmm ". " d", '"yy

Mon, Jan. 1, '01

ddd, mmm, and yy print the first three day letters, first three month letters, and last two year digits

"Today is " dddd

Today is Monday


h:n:s: AM/PM

12:00:00 AM

"n" is used for minutes to
avoid confusion with months

  • Yes/No fields are displayed as check boxes by default on the datasheet. To change the formatting of these fields, first click the Lookup tab and change the Display Control to a text box. Go back to the General tab choices to make formatting changes. The formatting is designated in three sections separated by semicolons. The first section does not contain anything but the semicolon must be included. The second section specifies formatting for Yes values and the third for No values.

Yes/No Format




Prints "Yes" in green or "No" in red

  • Default Value - There may be cases where the value of a field will usually be the same for all records. In this case, a changeable default value can be set to prevent typing the same thing numerous times. Set the Default Value property.

Primary Key

Every record in a table must have a primary key that differentiates it from every other record in the table. In some cases, it is only necessary to designate an existing field as the primary key if you are certain that every record in the table will have a different value for that particular field. A social security number is an example of a record whose values will only appear once in a database table.

Designate the primary key field by right-clicking on the record and selection Primary Key from the shortcut menu or select Edit|Primary Key from the menu bar. The primary key field will be noted with a key image to the left. To remove a primary key, repeat one of these steps.

If none of the existing fields in the table will produce unique values for every record, a separate field must be added. Access will prompt you to create this type of field at the beginning of the table the first time you save the table and a primary key field has not been assigned. The field is named "ID" and the data type is "autonumber". Since this extra field serves no purpose to you as the user, the autonumber type automatically updates whenever a record is added so there is no extra work on your part. You may also choose to hide this column in the datasheet as explained on a later page in this tutorial.


Creating indexes allows Access to query and sort records faster. To set an indexed field, select a field that is commonly searched and change the Indexed property to Yes (Duplicates OK) if multiple entries of the same data value are allowed or Yes (No Duplicates) to prevent duplicates.

Field Validation Rules

Validation Rules specify requirements (change word) for the data entered in the worksheet. A customized message can be displayed to the user when data that violates the rule setting is entered. Click the expression builder ("...") button at the end of the Validation Rule box to write the validation rule. Examples of field validation rules include <> 0 to not allow zero values in the record, and ??? to allow only all data strings three characters in length.

Input Masks

An input mask controls the value of a record and sets it in a specific format. They are similar to the Format property, but instead display the format on the datasheet before the data is entered. For example, a telephone number field can formatted with an input mask to accept ten digits that are automatically formatted as "(555) 123-4567". The blank field would look like (___) ___-____. An an input mask to a field by following these steps:

  • In design view, place the cursor in the field that the input mask will be applied to.
  • Click in the white space following Input Mask under the General tab.
  • Click the "..." button to use the wizard or enter the mask, (@@@) @@@-@@@@, into the field provided. The following symbols can be used to create an input mask from scratch:

Input Mask Symbols




Letter or digit


A digit 0 through 9 without a + or - sign and with blanks displayed as zeros


Same as 0 with blanks displayed as spaces


Same as 9 with +/- signs




Letter A through Z

C or &

Character or space


Convert letters to lower case


Convert letters to upper case

Adding Records

Add new records to the table in datasheet view by typing in the record beside the asterisk (*) that marks the new record. You can also click the new record button at the bottom of the datasheet to skip to the last empty record.

[Datasheet View]

Editing Records

To edit records, simply place the cursor in the record that is to be edited and make the necessary changes. Use the arrow keys to move through the record grid. The previous, next, first, and last record buttons at the bottom of the datasheet are helpful in maneuvering through the datasheet.

Deleting Records

Delete a record on a datasheet by placing the cursor in any field of the record row and select Edit|Delete Record from the menu bar or click the Delete Record button on the datasheet toolbar.

Adding and Deleting Columns

Although it is best to add new fields (displayed as columns in the datasheet) in design view because more options are available, they can also be quickly added in datasheet view. Highlight the column that the new column should appear to the left of by clicking its label at the top of the datasheet and select Insert|Column from the menu bar.

Entire columns can be deleted by placing the cursor in the column and selecting Edit|Delete Column from the menu bar.

Resizing Rows and Columns

The height of rows on a datasheet can be changed by dragging the gray sizing line between row labels up and down with the mouse. By changing the height on one row, the height of all rows in the datasheet will be changed to the new value.

Column width can be changed in a similar way by dragging the sizing line between columns. Double click on the line to have the column automatically fit to the longest value of the column. Unlike rows, columns on a datasheet can be different widths. More exact values can be assigned by selecting Format|Row Height or Format|Column Width from the menu bar.

Freezing Columns

Similar to freezing panes in Excel, columns on an Access table can be frozen. This is helpful if the datasheet has many columns and relevant data would otherwise not appear on the screen at the same time. Freeze a column by placing the cursor in any record in the column and select Format|Freeze Columns from the menu bar. Select the same option to unfreeze a single column or select Format|Unfreeze All Columns.

[Freeze Columns example]

Hiding Columns

Columns can also be hidden from view on the datasheet although they will not be deleted from the database. To hide a column, place the cursor in any record in the column or highlight multiple adjacent columns by clicking and dragging the mouse along the column headers, and select Format|Hide Columns from the menu bar.

To show columns that have been hidden, select Format|Unhide Columns from the menu bar. A window displaying all of the fields in the table will be listed with check boxes beside each field name. Check the boxes beside all fields that should be visible on the data table and click the Close button.

[Unhide Columns window]


  • Introduction to tables
  • Create a table in design view
  • Field properties
  • Primary key
  • Indexes
  • Field validation rules

Datasheet Records

  1. Adding records
  2. Editing records
  3. Deleting records
  4. Adding and deleting columns
  5. Resizing rows and columns
  6. Freezing columns
  7. Hiding columns
  8. Finding data in a table
  9. Replace
  10. Check spelling and AutoCorrect
  11. Print a datasheet



Part 2:  Forms


Create Form in Design View

  • Click the New button on the form database window.
  • Select "Design View" and choose the table or query the form will be associated with the form from the drop-down menu.
  • Select View|Toolbox from the menu bar to view the floating toolbar with additional options.

[toolbox diagram]

  • Add controls to the form by clicking and dragging the field names from the Field List floating window. Access creates a text box for the value and label for the field name when this action is accomplished. To add controls for all of the fields in the Field List, double-click the Field List window's title bar and drag all of the highlighted fields to the form.
    [form example]


  • To add command buttons to your form, select the “Command Button” icon from the toolbox, and then click on your form. From the Command Wizard window that shows up, select the action you want associated with your button: Go To Next Record (Record Navigation category), Add New Record (from Record Operations category), Delete Record (Record Operations category), Quit Application (Application category), Run Query (Miscellaneous category), etc.

Adding Records Using A Form

Input data into the table by filling out the fields of the form. Press the Tab key to move from field to field and create a new record by clicking Tab after the last field of the last record. A new record can also be created at any time by clicking the New Record button new record buttonat the bottom of the form window, or the appropriate Add Record button, If one was created for the form. Records are automatically saved as they are entered so no additional manual saving needs to be executed.

[Form View]

Editing Forms

The follow points may be helpful when modifying forms in Design View.

  • Grid lines - By default, a series of lines and dots underlay the form in Design View so form elements can be easily aligned. To toggle this feature on and off select View|Grid from the menu bar.
  • Snap to Grid - Select Format|Snap to Grid to align form objects with the grid to allow easy alignment of form objects or uncheck this feature to allow objects to float freely between the grid lines and dots.
  • Resizing Objects - Form objects can be resized by clicking and dragging the handles on the edges and corners of the element with the mouse.
  • Change form object type - To easily change the type of form object without having to create a new one, right click on the object with the mouse and select Change To and select an available object type from the list.
  • Label/object alignment - Each form object and its corresponding label are bounded and will move together when either one is moved with the mouse. However, to change the position of the object and label in relation to each other (to move the label closer to a text box, for example), click and drag the large handle at the top, left corner of the object or label.
  • Tab order - Alter the tab order of the objects on the form by selecting View|Tab Order... from the menu bar. Click the gray box before the row you would like to change in the tab order, drag it to a new location, and release the mouse button.
    [Tab Order dialog box]
  • Form Appearance - Change the background color of the form by clicking the Fill/Back Color button on the formatting toolbar and click one of the color swatches on the palette. Change the color of individual form objects by highlighting one and selecting a color from the Font/Fore Color palette on the formatting toolbar. The font and size, font effect, font alignment, border around each object, the border width, and a special effect can also be modified using the formatting toolbar:
    [formatting toolbar]
  • Page Header and Footer - Headers and footers added to a form will only appear when it is printed. Access these sections by selecting View|Page Header/Footer on the menu bar. Page numbers can also be added to these sections by selecting Insert|Page Numbers. A date and time can be added from Insert|Date and Time.... Select View|Page Header/Footer again to hide these sections from view in Design View.

Part 3: Queries

Queries select records from one or more tables in a database so they can be viewed, analyzed, and sorted on a common datasheet. The resulting collection of records, called a dynaset (short for dynamic subset), is saved as a database object and can therefore be easily used in the future. The query will be updated whenever the original tables are updated. Types of queries are select queries that extract data from tables based on specified values, find duplicate queries that display records with duplicate values for one or more of the specified fields, and find unmatched queries display records from one table that do not have corresponding values in a second table.

Create a Query in Design View

Follow these steps to create a new query in Design View:

  • From the Queries page on the Database Window, click the New button.
    [New Query]
  • Select Design View and click OK.
  • Select tables and existing queries from the Tables and Queries tabs and click the Add button to add each one to the new query.
  • Click Close when all of the tables and queries have been selected.
    [Show Table window]
  • Add fields from the tables to the new query by double-clicking the field name in the table boxes or selecting the field from the Field: and Table: drop-down menus on the query form. Specify sort orders if necessary.
    [Select Query window]
  • Enter the criteria for the query in the Criteria: field. The following table provides examples for some of the wildcard symbols and arithmetic operators that may be used. The Expression Builder [Expression Builder button]can also be used to assist in writing the expressions.

Query Wildcards and Expression Operators

Wildcard / Operator


? Street

The question mark is a wildcard that takes the place of a single letter.

43th *

The asterisk is the wildcard that represents a number of characters.


Value less than 100


Value greater than or equal to 1


Not equal to (all states besides Florida)

Between 1 and 10

Numbers between 1 and 10

Is Null
Is Not Null

Finds records with no value
or all records that have a value

Like "a*"

All words beginning with "a"

>0 And <=10

All numbers greater than 0 and less than 10

"Bob" Or "Jane"

Values are Bob or Jane

  • After you have selected all of the fields and tables, click the Run button on the toolbar.
  • Save the query by clicking the Save button.

Logical OR vs. Logical AND.   If you put search criteria all on the same horizontal line, then the criteria is interpreted as joined by logical “AND”.   If you place criteria on a line below the line of another criteria, then the two criteria are interpreted as joined by a logical ‘OR’.


Part 4: Reports

Create in Design View

To create a report from scratch, select Design View from the Reports Database Window.

  • Click the New button on the Reports Database Window. Highlight "Design View" and choose the data source of the report from the drop-down menu and click OK.
    [New Report window]
  • You will be presented with a blank grid with a Field Box and form element toolbar that looks similar to the Design View for forms. Design the report in much the same way you would create a form. For example, double-click the title bar of the Field Box to add all of the fields to the report at once. Then, use the handles on the elements to resize them, move them to different locations, and modify the look of the report by using options on the formatting toolbar. Click the Print View button at the top, left corner of the screen to preview the report.
    [form edit window]

Printing Reports

Select File|Page Setup to modify the page margins, size, orientation, and column setup. After all changes have been made, print the report by selecting File|Print from the menu bar or click the Print button on the toolbar.