Sunday, April 22, 2018

Create a table

Create a table

When you create an Access database, you store your data in tables—subject-based lists that contain rows and columns. For instance, you can create a Contacts table to store a list of names, addresses, and telephone numbers, or a Products table to store information about products.

This article explains how to create a table, how to add fields to a table, and how to set a table's primary key. It also explains how to set field and table properties.

Because other database objects depend so heavily on tables, you should always start your design of a database by creating all of its tables and then creating any other objects. Before you create tables, carefully consider your requirements and determine all the tables that you need. For an introduction to planning and designing a database, see the article Database design basics.

In this article

Overview

Create a new table

Add a field to a table

Save a table

Overview

A table is a database object that you use to store data about a particular subject, such as employees or products. A table consists of records and fields.

Each record contains data about one instance of the table subject, such as a particular employee. A record is also commonly called a row or an instance.

Each field contains data about one aspect of the table subject, such as first name or email address. A field is also commonly called a column or an attribute.

A record consists of field values, such as Contoso, Ltd. or someone@example.com. A field value is also commonly called a fact.

Customers table in Access showing layout of records and fields

1. A record

2. A field

3. A field value

An Access database can contain many tables, each storing information about a different subject. Each table can contain many fields of different types of data, such as text, numbers, dates, and hyperlinks.

Table and field properties

Tables and fields also have properties that you can set to control their characteristics or behavior.

Table and field property sheets
A table open in Design view.

1. Table properties

2. Field properties

In an Access database, table properties are attributes of a table that affect the appearance or behavior of the table as a whole. Table properties are set in the table's property sheet, in Design view. For example, you can set a table's Default View property to specify how the table is displayed by default.

A field property applies to a particular field in a table and defines one of the field's characteristics or an aspect of the field's behavior. You can set some field properties in Datasheet view. You can also set any field property in Design view by using the Field Properties pane.

Data types

Every field has a data type. A field's data type indicates the kind of data that the field stores, such as large amounts of text or attached files.

Data type setting

A data type is a field property, but it differs from other field properties as follows:

  • You set a field's data type in the table design grid, not in the Field Properties pane.

  • A field's data type determines what other properties the field has.

  • You must set a field's data type when you create the field.

    You can create a new field in Access by entering data in a new column in Datasheet view. When you create a field by entering data in Datasheet view, Access automatically assigns a data type for the field, based on the value that you enter. If no other data type is implied by your input, Access sets the data type to Text. If needed, you can change the data type by using the Ribbon.

Examples of automatic data type detection

The following table shows how automatic data type detection works in Datasheet view.

If you enter:

Access creates a field with a data type of:

John

Text

http://www.contoso.com

You can use any valid Internet protocol prefix. For example, http://, https://, and mailto: are valid prefixes.

Hyperlink

1

Number, Long Integer

50,000

Number, Long Integer

50,000.99

Number, Double

50000.389

Number, Double

12/67

The date and time formats recognized are those of your user locale.

Date/Time

December 31, 2016

Date/Time

10:50:23

Date/Time

10:50 am

Date/Time

17:50

Date/Time

$12.50

The currency symbol recognized is that of your user locale.

Currency

21.75

Number, Double

123.00%

Number, Double

3.46E+03

Number, Double

Table relationships

Although each table stores data about a different subject, tables in an Access database usually store data about subjects that are related to each other. For example, a database might contain:

  • A customers table that lists your company's customers and their addresses.

  • A products table that lists the products that you sell, including prices and pictures for each item.

  • An orders table that tracks customer orders.

Because you store data about different subjects in separate tables, you need some way to tie the data together so that you can easily combine related data from those separate tables. To connect the data stored in different tables, you create relationships. A relationship is a logical connection between two tables that specifies fields that the tables have in common.

Keys

Fields that are part of a table relationship are called keys. A key usually consists of one field, but may consist of more than one field. There are two kinds of keys:

  • Primary key    A table can have only one primary key. A primary key consists of one or more fields that uniquely identify each record that you store in the table. Often, there is a unique identification number, such as an ID number, a serial number, or a code, that serves as a primary key. For example, you might have a Customers table where each customer has a unique customer ID number. The customer ID field is the primary key of the Customers table. When a primary key contains more than one field, it is usually composed of pre-existing fields that, taken together, provide unique values. For example, you might use a combination of last name, first name, and birth date as the primary key for a table about people.

  • Foreign key    A table can also have one or more foreign keys. A foreign key contains values that correspond to values in the primary key of another table. For example, you might have an Orders table in which each order has a customer ID number that corresponds to a record in a Customers table. The customer ID field is a foreign key of the Orders table.

The correspondence of values between key fields forms the basis of a table relationship. You use a table relationship to combine data from related tables. For example, suppose that you have a Customers table and an Orders table. In your Customers table, each record is identified by the primary key field, ID.

To associate each order with a customer, you add a foreign key field to the Orders table that corresponds to the ID field of the Customers table, and then create a relationship between the two keys. When you add a record to the Orders table, you use a value for customer ID that comes from the Customers table. Whenever you want to view any information about an order's customer, you use the relationship to identify which data from the Customers table corresponds to which records in the Orders table.

An Access table relationship shown in the Relationships window
A table relationship, shown in the Relationships window.

1. A primary key, identified by the key icon next to the field name.

2. A foreign key — note the absence of the key icon.

Benefits of using relationships

Keeping data separated in related tables produces the following benefits:

  • Consistency    Because each item of data is recorded only once, in one table, there is less opportunity for ambiguity or inconsistency. For example, you store a customer's name only once, in a table about customers, rather than storing it repeatedly (and potentially inconsistently) in a table that contains order data.

  • Efficiency    Recording data in only one place means you use less disk space. Moreover, smaller tables tend to provide data more quickly than larger tables. Finally, if you don't use separate tables for separate subjects, you will introduce null values (the absence of data) and redundancy into your tables, both of which can waste space and impede performance.

  • Comprehensibility    The design of a database is easier to understand if the subjects are properly separated into tables.

Tip: Plan your tables with relationships in mind. You can use the Lookup Wizard to create a foreign key field if the table that contains the corresponding primary key already exists. The Lookup Wizard creates the relationship for you.

Top of Page

Create a new table

A simple database, such as a contact list, might use only a single table. Many databases, however, use several tables. When you create a new database, you create a new file on your computer that acts as a container for all of the objects in your database, including your tables.

You can create a table by creating a new database, by inserting a table into an existing database, or by importing or linking to a table from another data source — such as a Microsoft Excel workbook, a Microsoft Word document, a text file, or another database. When you create a new, blank database, a new, empty table is automatically inserted for you. You can then enter data in the table to start defining your fields.

What do you want to do?

Create a new table in a new database

Create a new table in an existing database

Import or link to create a table

Use a SharePoint site to create a table

Set a table's primary key

Set a table's properties

Create a new table in a new database

  1. Click File > New. If you're using Access 2007, click the Microsoft Office Button > New.

  2. In the File Name box, type a file name for the new database.

  3. To browse to a different location to save the database, click the folder icon.

  4. Click Create.

    The new database opens, and a new table named Table1 is created and opens in Datasheet view.

Create a new table in an existing database

  1. Click File > Open. If you're using Access 2007, click the Microsoft Office Button > Open.

  2. In the Open dialog box, select the database that you want to open, and then click Open.

  3. On the Create tab, in the Tables group, click Table.

    A new table is inserted in the database and the table opens in Datasheet view.

Import or link to create a table

You can create a table by importing or linking to data that is stored elsewhere. You can import or link to data in an Excel worksheet, a SharePoint list, an XML file, another Access database, a Microsoft Outlook folder, and more.

When you import data, you create a copy of the data in a new table in the current database. Subsequent changes to the source data will have no effect on the imported data, and changes to the imported data do not affect the source data. After you connect to a data source and import its data, you can then use the imported data without connecting to the source. You can change the design of an imported table.

When you link to data, you create a linked table in the current database that represents a live link to the existing information that is stored elsewhere. When you change data in a linked table, you are changing it in the source. Whenever data changes in the source, that change is shown in the linked table. You must be able to connect to the data source whenever you use a linked table. You cannot change the design of a linked table.

Note: You cannot edit data in an Excel worksheet by using a linked table. As a workaround, import the source data into an Access database, and then link to the database from Excel.

Create a new table by importing or linking to external data

  1. Click File > Open. If you're using Access 2007, click the Microsoft Office Button > Open.

  2. In the Open dialog box, select and open the database in which you wish to create a new table.

  3. On the External Data tab, in the Import & Link group, click one of the available data sources. If you're using Access 2007, the data sources are in the Import group.

    Access Ribbon Image

  4. Follow the instructions in the dialog boxes that appear at each step.

    Access creates the new table and displays it in the Navigation Pane.

You can also import or link to a SharePoint list by using a command on the Create tab.

Top of Page

Use a SharePoint site to create a table

You can create a table in your database that imports from or links to a SharePoint list. You can also create a new SharePoint list by using a predefined template. The predefined templates in Access include Contacts, Tasks, Issues, and Events.

  1. Click File > Open. If you're using Access 2007, click the Microsoft Office Button > Open.

  2. In the Open dialog box, select the database in which you want to create the new table, and then click Open.

  3. On the Create tab, in the Tables group, click SharePoint Lists.

  4. Do one of the following:

    • Create a SharePoint list that is based on a template

      1. Click either Contacts, Tasks, Issues, or Events.

      2. In the Create New List dialog box, type the URL for the SharePoint site where you want to create the list.

      3. Enter a name for the new list and its description in the Specify a name for the new list and Description boxes.

      4. To open the linked table after it is created, select the Open the list when finished check box (selected by default).

    • Create a new custom list

      1. Click Custom.

      2. In the Create New List dialog box, type the URL for the SharePoint site where you want to create the list.

      3. Enter a name for the new list and its description in the Specify a name for the new list and Description boxes.

      4. To open the linked table after it is created, select the Open the list when finished check box (selected by default).

    • Import the data from an existing list

      1. Click Existing SharePoint List.

      2. In the Get External Data dialog box, type the URL for the SharePoint site that contains the data that you want to import.

      3. Click Import the source data into a new table in the current database, and then click Next.

      4. Select the check box next to each SharePoint list that you want to import.

    • Link to an existing list

      1. Click Existing SharePoint List.

      2. In the Get External Data - SharePoint Site dialog box, type the URL for the SharePoint site that contains the list to which you want to link.

      3. Click Link to the data source by creating a linked table, and then click Next.

      4. Select the check box next to each SharePoint list to which you want to link.

Top of Page

Set a table's primary key

Unless you have a specific reason not to, you should specify a primary key for a table. Access automatically creates an index for the primary key, which can help improve database performance. Access also makes sure that every record has a value in the primary key field, and that the value is always unique. Unique values are crucial, because otherwise there is no way to reliably distinguish a particular row from other rows.

When you create a new table in Datasheet view, Access automatically creates a primary key for you and assigns it a field name of ID and the AutoNumber data type.

In Design view, you can change or remove the primary key, or set the primary key for a table that doesn't already have one.

Determine which fields to use as a primary key

Sometimes, you might already have data that you want to use as a primary key. For example, you may have existing ID numbers for your employees. If you create a table to track employee information, you might decide to use the existing employee ID as the primary key for the table. Or, perhaps employee ID is only unique in combination with department ID, requiring that you use both fields together as the primary key. A good candidate for the primary key has the following characteristics:

  • Each record has a unique value for the field or combination of fields.

  • The field or combination of fields is never empty or null — there is always a value.

  • The values do not change.

If no suitable data exists to use as a primary key, you can create a new field to use as a primary key. When you create a new field to use as a primary key, set the field's data type to AutoNumber to help make sure that it meets the three characteristics in the preceding list.

Set or change the primary key

  1. Select the table whose primary key you want to set or change.

  2. On the Home tab, in the Views group, click View, and then click Design View.

  3. In the table design grid, select the field or fields that you want to use as the primary key.

    To select one field, click the row selector for the field that you want.

    To select more than one field, hold down CTRL, and then click the row selector for each field.

  4. On the Design tab, in the Tools group, click Primary Key.

    Tools group on the Design tab

    A key indicator appears to the left of the field or fields that you specify as the primary key.

Remove the primary key

  1. Select the table whose primary key you want to remove.

  2. On the Home tab, in the Views group, click View, and then click Design View.

  3. Click the row selector for the current primary key. If the primary key consists of multiple fields, hold down CTRL, and then click the row selector for each field.

  4. On the Design tab, in the Tools group, click Primary Key.

    Tools group on the Design tab

    The key indicator is removed from the field or fields that you previously specified as the primary key.

Note: When you save a new table without setting a primary key, Access prompts you to create a new field for the primary key. If you click Yes, Access creates an ID field that uses the AutoNumber data type to provide a unique value for each record. If your table already includes an AutoNumber field, Access uses it as the primary key. If you click No, Access does not add a field, and no primary key is set.

Top of Page

Set a table's properties

In addition to setting properties fields, you can also set properties that apply to an entire table or to entire records.

  1. Select the table whose properties you want to set.

  2. On the Home tab, in the Views group, click View, and then click Design View.

  3. On the Design tab, in the Show/Hide group, click Property Sheet.

    Show/Hide group on the Design tab in Access

    The table property sheet is shown.

  4. On the property sheet, click the General tab.

  5. Click the box to the left of the property that you want to set, and then enter a setting for the property.

    Available table properties

    Use this table property

    To

    Display Views On SharePoint Site

    Specify whether views that are based on the table can be displayed on a SharePoint site.

    Note: The effects of this setting depend on the setting of the Display All Views On SharePoint Site database property.

    Subdatasheet Expanded

    Expand all subdatasheets when you open the table.

    Subdatasheet Height

    Do one of the following:

    • If you want the subdatasheet window to expand to display all rows, leave this property set at 0".

    • If you want to control the height of the subdatasheet, enter the desired height in inches.

    Orientation

    Set the view orientation, according to whether your language is read left-to-right, or right-to-left.

    Description

    Provide a description of the table. This description will appear in tooltips for the table.

    Default View

    Set Datasheet, PivotTable, or PivotChart as the default view when you open the table. Note, PivotTable and PivotChart options were removed from Access starting in Access 2013.

    Validation Rule

    Enter an expression that must be true whenever you add or change a record.

    Validation Text

    Enter a message that is displayed when a record violates the expression in the Validation Rule property.

    Filter

    Define criteria to display only matching rows in Datasheet view.

    Order By

    Select one or more fields to specify the default sort order of rows in Datasheet view.

    Subdatasheet Name

    Specify whether a subdatasheet should appear in Datasheet view, and if so, which table or query should supply the rows in the subdatasheet.

    Link Child Fields

    List the fields in the table or query that are used for the subdatasheet that match the Link Master Fields property that is specified for the table.

    Link Master Fields

    List the fields in the table that match the Link Child Fields property that is specified for the table.

    Filter On Load

    Automatically apply the filter criteria in the Filter property (by setting to Yes) when the table is opened in Datasheet view.

    Order By On Load

    Automatically apply the sort criteria in the Order By property (by setting to Yes) when the table is opened in Datasheet view.

    Tip: To provide more space to enter or edit a setting in the property box, press SHIFT+F2 to display the Zoom box. If you are setting the Validation Rule property to an expression and would like help in building it, click Builder button next to the ValidationRule property box to display the Expression Builder.

  6. To save your changes, press CTRL+S.

Top of Section

Top of Page

Add a field to a table

You store each piece of data that you want to track in a field. For example, in a contacts table you create fields for Last Name, First Name, Telephone Number, and Address. In a products table you create fields for Product Name, Product ID, and Price.

Before you create fields, try to separate data into its smallest useful parts. It is much easier to combine data later than it is to pull it apart. For example, instead of a Full Name field, consider creating separate fields for Last Name and First Name. Then, you can easily search or sort by First Name, Last Name, or both. If you plan to report, sort, search, or calculate on an item of data, put that item in a field by itself.

After you create a field, you can also set field properties to control its appearance and behavior.

What do you want to do?

Add a field by entering data

When you create a new table or open an existing table in Datasheet view, you can add a field to the table by entering data in the Add New Field column of the datasheet.

Datasheet in Access with Add New Field column

1. Enter data in the Add New Field column.

  1. Create or open a table in Datasheet view by right-clicking the table that you want in the Navigation Pane and then clicking Datasheet view from the shortcut menu.

  2. In the Add New Field column, enter the name of the field that you want to create.

    Use a descriptive name so that the field will be easier to identify.

  3. Enter data in the new field.

Add a field by using a field template

Sometimes it is easier to choose from a predefined list of fields that fit your needs than to manually create a field. You can use the More Fields list in Access 2010, 2013, or 2016 or the Field Templates task pane in Access 2007 to choose from a list of field templates. A field template is a predefined set of characteristics and properties that describes a field. The field template definition includes a field name, a data type, a setting for the field's Format property, and other field properties.

If you're using Access 2010, 2013, or 2016, follow these steps.

  1. On the Home tab, in the Views group, click View, and then click Datasheet View.

  2. On the Fields tab, in the Add & Delete group, click More Fields.

    Screesnhot of Add & Delete group on the Fields ribbbon tab.

  3. Select a field in the More Fields list to insert the new column. Access places the field to the right of the column where your cursor is currently located. If you choose one of the field options under the Quick Start heading, such as Address, Access creates multiple fields in your table to contain the various parts of an address.

If you're using Access 2007, follow these steps.

  1. On the Home tab, in the Views group, click View, and then click Datasheet View.

  2. On the Datasheet tab, in the Fields & Columns group, click New Field.

    Access Ribbon Image

  3. Select one or more fields in the Field Templates pane, and then drag them to the table where you want to insert the new column.

Set field properties

After you create a field, you can set field properties to control its appearance and behavior.

For example, by setting field properties, you can:

  • Control the appearance of data in a field

  • Help prevent incorrect data entry in a field

  • Specify default values for a field

  • Help speed up searching and sorting on a field

You can set some of the available field properties while you work in Datasheet view. To have access to and set the complete list of field properties; however, you must use Design view.

Set field properties in Datasheet view

You can rename a field, change its data type, change its Format property, and change some of a field's other properties while you work in Datasheet view.

Open a table in Datasheet view

  1. In the Navigation Pane, right-click the table that you want to open.

  2. On the shortcut menu, click Datasheet view.

Rename a field

When you add a field by entering data in Datasheet view, Access automatically assigns a generic name to the field. Access assigns the name Field1 to the first new field, Field2 to the second new field, and so on. By default, a field's name is used as its label wherever the field is displayed, such as a column heading on a datasheet. Renaming fields so that they have more descriptive names helps make them easier to use when you view or edit records.

  1. Right-click the heading of the field that you want to rename (for example, Field1).

  2. On the shortcut menu, click Rename Field. If you're using Access 2007, click Rename Column on the shortcut menu.

  3. Enter the new name in the field heading.

    Field names can consist of up to 64 characters (letters or numbers), including spaces.

Change a field's data type

When you create a field by entering data in Datasheet view, Access examines that data to determine the appropriate data type for the field. For example, if you enter 1/1/2017, Access recognizes that data as a date and sets the data type for the field to Date/Time. If Access can't definitively determine the data type, the data type is set to Text by default (Short Text if you're using Access 2016).

The data type of the field determines which other field properties you can set. For example, you can set only the Append Only property for a field that has the Hyperlink data type or the Memo data type (Long Text if you're using Access 2016).

There may be cases where you want to manually change a field's data type. For example, suppose you have room numbers that resemble dates, such as 10/2017. If you enter 10/2017 into a new field in Datasheet view, the automatic data type detection feature selects the Date/Time data type for the field. Because room numbers are labels, and not dates, they should use the Text data type. Use the following procedure to change a field's data type.

  1. On the Ribbon, click the Fields tab. If you're using Access 2007, click the Datasheet tab.

  2. In the Data Type list, in the Formatting group, select the data type that you want. If you're using Access 2007, in the Data Type list, in the Data Type & Formatting group, select the data type you want.

    What data types are available?

    See Data types for Access desktop databases for a complete list of available data types in Access databases.

    Note: The maximum size of an Access database file is 2 gigabytes.

    Tips on data types

    • To optimize performance, you should use the most appropriate Field Size when you create a Text or Number field. For example, if you expect to store postal codes of a predictable length, specify that length as the field size. You can specify the field size by setting a value in the Field Size property box. For more information, see the section, Set other field properties.

    • For phone numbers, part numbers, and other numbers that you don't intend to use for mathematical calculations, you should select the Text data type instead of the Number data type. A numeric value that is stored as text can be sorted and filtered more logically.

Change a field's format

In addition to determining the data type of a new field, Access may also set the Format property for the field, depending on what you enter. For example, if you enter 10:50 a.m., Access sets the data type to Date/Time and the Format property to Medium Time. To manually change a field's Format property, do the following:

  1. On the Ribbon, click the Fields tab. If you're using Access 2007, click the Datasheet tab.

  2. In the Format list, in the Formatting group, enter the format you want. If you're using Access 2007, in the Format list, in the Data Type & Formatting group, enter the format that you want.

    Note: The Format list may be unavailable for some fields (for example, Text), depending on the data type of the field.

Set other field properties

  1. In Datasheet view, click the field for which you want to set the property.

  2. If you're using Access 2010, 2013, or 2016, on the Fields tab, in the Properties, Formatting, or Field Validation groups, select the properties that you want.

  3. If you're using Access 2007, on the Datasheet tab, in the Data Type & Formatting group, select the properties that you want.

Set field properties in Design view

You can set any field property while you work with a table in Design view. In Design view, you set a field's data type in the table design grid, and you set other properties in the Field Properties pane.

Open a table in Design view

  1. In the Navigation Pane, right-click the table.

  2. On the shortcut menu, click Design view.

Change a field's data type

  1. In the table design grid, locate the field for which you want to set the data type.

  2. In the Data Type column, choose a data type from the list.

    What data types are available?

    See Data types for Access desktop databases for a complete list of available data types in Access databases.

    Note: The maximum size of an Access database file is 2 gigabytes.

    Tips on data types

    • For phone numbers, part numbers, and other numbers that you don't intend to use for mathematical calculations, you should select the Text data type instead of the Number data type. A numeric value that is stored as text can be sorted and filtered more logically, but cannot be easily used in calculations.

    • For the Text and Number data types, you can specify the field size or data type more precisely by setting a value in the Field Size property box.

Set other field properties

  1. In the table design grid, select the field for which you want to set properties. Access displays the properties for this field in the Field Properties pane.

    The data type of the field determines the properties that you can set.

  2. In the Field Properties pane, enter the settings that you want for each property, or press F6 and then use the arrow keys to select a property.

    What field properties are available?

    See Introduction to data types and field properties for a complete list of field properties available for each data type in Access databases.

    Note: Not all properties are available for every field. A field's data type determines which properties it has.

  3. To provide more space for entering or editing a property setting in the property box, press SHIFT+F2 to display the Zoom box.

    Tip: If you are entering an input mask or validation expression and would like help in building it, click Builder button next to the property box to display the appropriate builder.

  4. To save your changes, press CTRL+S.

Save a table

After you create or modify a table, you should save its design. When you save a table for the first time, give it a name that describes the data that it contains. You can use up to 64 alphanumeric characters, including spaces. For example, you might name a table Customers, Parts Inventory, or Products.

Tip: You should decide on a naming convention for the objects in your database, and use it consistently.

  1. If you're using Access 2010, 2013, or 2016, click File > Save, or press CTRL+S.

  2. If you're using Access 2007, click the Microsoft Office Button and then click Save, or press CTRL+S.

  3. If you are saving the table for the first time, type a name for the table, and then click OK.

Top of Page

No comments:

Post a Comment