Create a table and add fields - Access
Create a table and add fields
Access for Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007
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, add fields to a table, set a table's primary key, and how to set field and table properties.
Before you create tables and add fields, make sure you understand the background concepts. For more information, see Introduction to tables.
In this article
Creating a table
— Create in a new database
— Create in an existing database
— Importing or linking
— — Use external data
— — Use a SharePoint site
— — Use a Web service
— Set a table's properties
— Save a table
Setting a primary key
— Determine fields to use
— Set or change a primary key
— Remove a primary key
Adding fields
— Add by entering data
— Add by using a field template
— Setting field properties
— Set in Datasheet view
— — Rename a field
— — Change a data type
— — Change a format
— — Set other properties
— Set properties in Design view
— — Change a data type
— — Set other properties
Creating a 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.
Create a new table in a new database
Click File > New, and then select Blank desktop database.
In the File Name box, type a file name for the new database.
To browse to a different location and save the database, click the folder icon.
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
Click File > Open, and click the database if it is listed under Recent. If not, select one of the browse options to locate the database.
In the Open dialog box, select the database that you want to open, and then click Open.
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.
Importing or linking 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
Click File > Open.
In the Open dialog box, select and open the database in which you wish to create a new table.
On the External Data tab, in the Import & Link group, click one of the available data sources.
Follow the instructions in the dialog boxes that appear at each step.
Access creates the new table and displays it in the Navigation Pane.
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.
Click File > Open.
In the Open dialog box, select the database in which you want to create the new table, and then click Open.
On the Create tab, in the Tables group, click SharePoint Lists.
Do one of the following:
Create a SharePoint list that is based on a template
Click either Contacts, Tasks, Issues, or Events.
In the Create New List dialog box, type the URL for the SharePoint site where you want to create the list.
Enter a name for the new list and its description in the Specify a name for the new list and Description boxes.
To open the linked table after it is created, select the Open the list when finished check box (selected by default).
Create a custom list
Click Custom.
In the Create New List dialog box, type the URL for the SharePoint site where you want to create the list.
Enter a name for the new list and its description in the Specify a name for the new list and Description boxes.
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
Click Existing SharePoint List.
In the Get External Data dialog box, type the URL for the SharePoint site that contains the data that you want to import.
Click Import the source data into a new table in the current database, and then click Next.
Select the check box next to each SharePoint list that you want to import.
Link to a list
Click Existing SharePoint List.
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.
Click Link to the data source by creating a linked table, and then click Next.
Select the check box next to each SharePoint list to which you want to link.
Use a Web service to create a table
You can create a table in your database that connects to data at a Web site that provides a Web service interface. Web service tables are read-only.
On the External Data tab, in the Import & Link group, click More and then click Data Services.
If the connection you want to use has already been installed, skip to step 5. Otherwise, continue with the next step.
Click Install new connection.
Select the connection file that you want to use, and then click OK.
In the Create Link to Web Service Data dialog box, expand the connection that you want to use.
Select the table that you want to link to. Access displays the fields on the right side of the dialog box.
Optionally, type a name for the linked table in the Specify link name box. Access will use this name for the linked table in the Navigation Pane.
Click OK. Access creates the linked table.
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.
Select the table whose properties you want to set.
On the Home tab, in the Views group, click View, and then click Design View.
On the Design tab, in the Show/Hide group, click Property Sheet.
The table property sheet is shown.
On the property sheet, click the General tab.
Click the box to the left of the property that you want to set, and then enter a setting for the property.
Don't forget to Press CTRL+S to save your changes.
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. 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 next to the ValidationRule property box to display the Expression Builder.
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.
Access gives you lots of flexibility when it comes to naming your tables; however, there are some restrictions to be aware of. A table name can be up to 64 characters long, can include any combination of letters, numbers, spaces, and special characters except a period (.), exclamation point (!), square brackets ([]), leading space, leading equal sign (=), or nonprintable character such as a carriage return. The name also cannot contain any of the following characters:` / \ : ; * ? " ' < > | # <TAB> { } % ~ &.
Tip: You should decide on a naming convention for the objects in your database, and use it consistently.
Select File > Save, or press CTRL+S.
If you are saving the table for the first time, type a name for the table, and then click OK.
Setting a 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
Select the table whose primary key you want to set or change.
On the Home tab, in the Views group, click View, and then click Design View.
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.
On the Design tab, in the Tools group, click Primary Key.
A key indicator appears to the left of the field or fields that you specify as the primary key.
Remove the primary key
Select the table whose primary key you want to remove.
On the Home tab, in the Views group, click View, and then click Design View.
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.
On the Design tab, in the Tools group, click Primary Key.
The key indicator is removed from the field or fields that you previously specified as the primary key.
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.
Adding fields
To store a new piece of data about something for which you already have an Access table, consider adding a field to the table. For example, suppose you have a table that stores the last name, first name, email address, telephone number, and mailing address of each of your customers. If you want to start tracking each customer’s preferred means of communication, you add a field to store that data.
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.
Every field has certain essential characteristics, such as a name that uniquely identifies the field within a table, a data type that defines the nature of the data, the operations that can be performed on the data, and how much storage space to set aside for each value.
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. For example, the Format property defines how the data appears in a datasheet or form that contains that field.
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 (1). 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 but you can change the data type.
To enter data in the Add New Field column:
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.
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.
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 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.
On the Home tab, in the Views group, click View, and then click Datasheet View.
On the Fields tab, in the Add & Delete group, click More Fields.
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.
Setting 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.
The properties that you can set, depend on the field’s data type.
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.
In the Navigation Pane, right-click the table that you want to open.
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.
Right-click the heading of the field that you want to rename (for example, Field1).
On the shortcut menu, click Rename Field.
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.
On the Ribbon, click the Fields tab.
In the Data Type list, in the Formatting group, select the data type that 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.
Tips on data types
The maximum size of an Access database file is 2 gigabytes.
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:
On the Ribbon, click the Fields tab.
In the Format list, in the Formatting group, enter the format 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
In Datasheet view, click the field for which you want to set the property.
On the Fields tab, in the Properties, Formatting, or Field Validation groups, 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.
In the Navigation Pane, right-click the table.
On the shortcut menu, click Design view.
Change a field's data type
You can change various aspects of a field after you create it.
Warning: You can also change these aspects of a field that you did not just create. However, if data already exists in the field some actions will not be available, or may cause data loss.
In the table design grid, locate the field for which you want to set the data type.
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.
Tips on data types
The maximum size of an Access database file is 2 gigabytes.
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
Note: Not all formats are available for all data types. Set the data type first, and then, if needed, set the format.
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.
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.
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 next to the property box to display the appropriate builder.
To save your changes, press CTRL+S.
Move a field
To move a field, drag it to the position that you want. To select multiple contiguous fields to move, click the first field, hold down the SHIFT key, and then click the last field. You can then drag the selected group of fields to a new position.
Dragging a field changes its position on the Datasheet, but does not change the order of the fields in the table design. If you programmatically access the fields, the original order applies. For example, if you drag a field to a new position on the Datasheet, and then create a form from the table by using the Form button, the field will be in its original position.