Introduction to Databases with MS Access
There’s a sense in which almost any computer program is a database – almost any computer
program operates on a base of data. However, what we call a database program is generally a
program that operates on a base of data in which there is one or more collections (in Access,
called tables) of identically structured records. The structure of these records: typically, they
consist of multiple fields/components/members/properties/attributes – elementary units of
data. All records of the table have the same fields, but not necessarily the same data values.
For example: A library’s catalog. A record of this database typically represents a book in the
library’s holdings. Fields of the record typically include:
Classification (in Library of Congress system, or Dewey Decimal system)
A field to inform you whether the book is currently available, or checked out
You can create a new Access database by clicking Start, All Programs, New Microsoft Office
Document, Blank Database. Immediately, you must specify how the database file is to be
stored on your disk or network space. When that’s done, you’ll see what seems to be a
document-less Access window. Continue the process of creating a database by going to the
Create tab of the ribbon and clicking Table Design. This gives us a view of a database that’s
initially empty; we want to design it by choosing its fields and properties of the fields, especially
data types and related properties.
Data types include:
Text – often used for non-numeric data, such as names, titles, etc. In the Field
Properties section of the design view, on the General tab, note the Field Size property.
For the Text data type, the Field Size is the maximum number of characters permitted
(maximum value: 255). You can save memory by using smaller values – but don’t be too
zealous about saving memory, because you should use a large enough value to
accommodate your data.
A variant on Text is rooted in the idea that a field might use a short list of possible
values, and it might be desirable to present this list as a menu. Using a menu is usually
faster than typing the value, and less likely to produce typographical errors. In the
Design view, for the field’s data type, we can set up such a menu by choosing Lookup
Number – typically used for numbers, in any of several subtypes that may be specified in
the Field Size. Among the subtypes:
Byte – used for relatively small integers, typically a range of 0 to 255, or -127 to 127.
Integer – typically for a range of -32,767 to 32,767
Long Integer – typically for a range of (I think) -2,000,000,000 (approximately) to
So, why not always use the Long Integer subtype for whole numbers? The price paid is
that the larger ranges of values require the use of more memory.
Currency – not a subtype of Number, but can be used for arithmetic, and is typically
used to represent money; typically, is displayed with a currency symbol such as the
Yes/No – a data type with two values, each with 3 representations. One data value is
represented in text by the word “Yes” or “True”, and in a checkbox by a check; the other
data value is represented in text by the word “No” or “False”, and in a checkbox by a
blank checkbox. The checkbox will appear in a datasheet; in certain design aspects, this
data type is represented in text.
We can change our view of the database on the Home tab between the Design view (to design
fields of the database) and the Datasheet view (to view, enter, and edit the data) by clicking the
Consider an address, such as
456 South Maple Drive apt. G8
We might consider this as an example value for a field named, say, StreetAddress; or we might
consider such an address as giving data to fields as follows:
Street South Maple Drive
Apartment apt. G8
The second approach has major advantages (we’ll discuss them much later).
The “Command Center” or “Control Center” is often a jumpoff point in your work with a
database. Typically located at the left of the Access window; note its drop-down menu, which
includes “object types” for types of documents that may be part of the database, including
Tables, Forms, Queries, Reports, etc. For example to view a saved table, if not already selected,
choose All Tables from this menu; from the Tables menu, click on the desired table to view it.
A Validation Rule is used to specify the set or range of reasonable values that a field may use.
Should a user attempt to enter a value outside of this set, an error message is displayed. For
example, a street number is likely to be a positive integer of at most 5 digits – that is, in the
range 1 to 99999. Thus, if a user enters a nonpositive value or a 6-digit number, it’s desirable to
display an error message.
A typical Validation Rule is based on comparisons, in which the name of the field is understood
without statement. Thus:
We want 1 < streetnumber < 99999 – recall this is short for 1<
streetnumber and streetnumber < 99999
or streetNumber > 1 and streetnumber < 99999
which is stated in Access as
>= 1 and <= 99999
If you have given a Validation Rule for a field and do not wish to use the default error message
when this rule is violated, you may enter your own choice of error message in the field’s
Validation Text entry.
One of the most fundamental database operations is finding data. On the Home tab, we can
use the Find button (much as in Word) to search for desired data. There are some important
differences between Word’s and Access’ Find operations. Notice the following features:
The combobox labeled “Look in” allows you either to restrict your search to the field in
which the cursor is located, or to search all fields of the datasheet.
The “Match” combobox offers options for Any Part of Field (so, e.g., “ga” matches
“Garcia” and also matches “Las Vegas”); Start of Field (so, e.g., “ga” matches “Garcia”
and does not match “Las Vegas”); and Whole Field (here, “ga” will not match “Garcia”
since “ga” is not the whole name).
The “Search” combobox allows you to restrict the direction of the search (Up from the
record currently containing the cursor, or Down from the record currently containing
the cursor), or search All records (in both directions).
The Match Case checkbox – if checked, the search proceeds in a case-sensitive fashion
(i.e., capital letters must match capital letters, lower case letters must match lower case
letters, in order to realize a match); otherwise, the search is case-insensitive (the same
letters match each other, even if one is capitalized and the other is lower case).
The buttons (on the Home tab) labeled A to Z (respectively, Z to A) are used to sort the records
in ascending (respectively, descending) order with respect to the field containing the cursor.
This is not restricted to Text data – any field can be sorted by these buttons. Note, however,
that these buttons don’t always break ties “properly” – for example, if we wish to sort
alphabetically by LastName, using the FirstName field as a tiebreaker when two records have
the same LastName, these sorting buttons may not break the tie as we desire. We’ll discuss
sorting with respect to multiple fields when we discuss queries and reports.
If a datasheet has a large enough collection of fields, the data that identifies a record (e.g.,
LastName and FirstName) might be off-screen as you edit your data, with the result that it’s
easy to enter data into the wrong record. In Excel, we could solve this problem by an
appropriate splitting of the screen. Access has a different solution – the use of a Form, which
allows you to view just one record at a time.
A form is created by, on the Create tab, clicking Form. Notice the navigation buttons at the
bottom of the form. These can be used to “navigate” your way among the records of the
source table, changing as desired the record displayed by the form.
The “Next Record” button shows a right-pointing arrowhead.
The “Previous Record” button shows a left-pointing arrowhead.
The “Last Record” button shows a right-pointing arrowhead and a vertical line.
The “First Record” button shows a left-pointing arrowhead and a vertical line.
The “New Record” button shows a right-pointing arrowhead and a yellow rectangle. This
takes us to a new (empty) record, suitable for entering the data of a new record.
You may find it necessary to save the data (click the Save button) and/or reload the table in
order to see form-edited changes appear in the table.
An existing form can have its design altered: on the Home tab, click the View button and
choose the Design view. The Design tab appears, with many tools that may be used to
change the appearance of the form.
Note the sections of the form in the Design view: The Form Header and the Form Footer
are analogous to page headers and footers, respectively. The Detail Section of a form
typically specifies how a record is to be displayed by the form. Any section of the form can
be stretched or shrunk in a fashion similar to stretching or shrinking a row of an Excel
Notice that at first glance, many of the fields seem to have duplicate representation, e.g.,
LastName appears in two controls. The left of these fields is a label, used to show the name
of the field (or, more generally, useful explanatory text). The right of these fields is a
textbox, used to display the value of the field (the last name of the person represented by
Labels and textboxes are among the controls available at the top of the Design tab, in the
Controls section. We typically use these to alter the design of a form, especially if we wish
to display more information than is currently displayed on the form. For example, we have
done the following:
Stretched the Form Footer tall enough to place controls in it.
Clicked Label and stretched out a label control in the form footer.
Put the cursor inside the label to edit its text, e.g., to show the month and year.
Similarly, we can click the label that appears in the Form Header to edit its data.
Many properties that affect the appearance of the data in a control have buttons on the
Design tab. Other properties can be edited by right-clicking a control, left-clicking
Properties from the resulting menu, and selecting the desired properties and their settings
from the resulting Properties Sheet. Also, all controls on a form are graphic controls like
other graphic controls that we have used – they may be moved around and resized.
A textbox, placed on a form, is automatically accompanied by a label. (If you don’t want
this label, click it and strike Del.) We have previously used a textbox to display the data
value of a field of the current record. A textbox can also be used as a “calculated control” to
display the result of a formula. As in Excel, a formula starts with an equal sign; a field of the
current record is referred to in a formula by enclosing the name of the field in brackets (the
“squared parentheses”). For example, we use the formula
to total a registrant’s bills. Note you can format this textbox for the Currency style by
choosing from the Properties Sheet the Format property, with the selection of Currency as
the desired format.
Other measures you might take to enhance the appearance of a form include:
You might change the background color by bringing up (regarding the form as a
control) the Properties Sheet and using the Back Color property to make your
selection (you should have sufficient contrast between background and foreground
– text – colors so the data is easy to read).
Use the line tool of the Design View (and the Design tab) to stretch out a horizontal
line between the last of the column of entries added up and the total (the line tool is
not restricted to horizontal lines – vertical lines, and sloped lines, are possible).
Surround a related group of controls that are sufficiently separated from other
controls by a rectangle.
In theory (we weren’t successful in attempting the following) you can choose more
complex color schemes and background patterns, as follows: In the Design View, on
the Arrange tab, click AutoFormat and choose the desired background.
Earlier, we discussed finding data, in the sense of finding a record with a desired data
value. A somewhat more general problem: find the set of records with specified
properties. This process is called filtering a database. We consider filtering a table, and
To filter a table: the table should be in view. On the Home tab, note the Sort and Filter
section of the ribbon. If you click the Advanced button and choose Filter by Form, a
filter design datasheet appears. We might have to clear a previous filter design (one
way: use the Del key; another: select, from the Advanced menu, select Clear All Filters).
Under the field(s) used to specify the desired properties, specify the desired value or
range of values (for a range, much as for a Validation Rule). After the filter is designed,
click the Toggle Filter button to apply the filter (that is, to display the records that satisfy
the filter specifications). To remove the filter, click the Toggle Filter button.
To select all records, and only those records, with the value “Dr.” in the Title
field, select “Dr.” under Title.
To select all records, and only those records, with a restaurant charge of at least
$100, on the filter design, under Restaurant Charge, use
(as in a Validation Rule, the comparison implicitly uses the field in whose column the
specification is given, without naming the field).
To select those records with a checked checkbox for Parking, under Parking in
the filter design, check the checkbox. To select those records with an unchecked
checkbox for Parking, in the filter design, check the checkbox and then click the
checkbox again to uncheck it. Thus, we distinguish between not using Parking
for the filter and using Parking to select records with an unchecked checkbox
(because both of these cases would have an unchecked checkbox).
To use the logic of the AND operator: To place restrictions in two different
fields, use the same tab of the filter design and create the appropriate
restrictions. To place multiple restrictions in the same field, use the word “and”
between the conjuncts.
To select, say, the records of female doctors – that is, records showing “F”
(without quotation marks) under Gender and “Dr.” under title, we can use the
Look For tab, specifying “Dr.” under title and “F” under Gender.
To select, say, the records of those with last initials H, I, J, K, L, we can use, under
LastName in the filter design,
>="H" And <"M"
Note we use <"M" rather than <”L” because, for example,
is false, but
“Long” < “M”
The asterisk is a wildcard for text values, meaning it will match any text pattern. For
example, if we want the records of those from New York with last initial “D”, we can
place, on the Look For tab,
under LastName, and “NY” under StateOrProvince.
The special constant Null is used to describe a text value of 0 characters. The operators
Is and Not are used to compare text values with Null. For example, to select all
apartment dwellers, under Apartment we can use
Is Not Null
Similarly, to select the records of US residents, we can use, under Country
To use the OR operator with restrictions in the same field, you can use “or” in the same
cell of the filter design. For example, to select the records of those who are from New
York or Ontario, we can use, under StateOrProvince,
“NY” or “ONT”
To use the OR operator with multiple fields, use different tabs of the query design. For
example, to select the records with a high (at least $175) room charge or a high (over
$100) restaurant charge, we can design a filter as follows: On the Look For tab, under
RoomCharge, use the expression
and, on the Or tab, under RestaurantCharge, use
Note data from any datasheet may be copied into a Word document. You might use a query
and copy its results into a Word document, e.g.,
Here are the registrants from other countries:
LastName FirstName City StateOrProvince Country
Santana Diego Toronto ONT Canada
A query allows you to filter; also, to sort more powerfully than with a table; also, to suppress
the view of fields you don’t wish to view.
To create a query: on the Create tab, you can use either the Query Wizard button or the Query
Design button. I’ll demonstrate the latter.
When you click the Query Design button, the Show Table dialogbox appears. Use it to choose
the datasheet that will be the source of records for the query being designed. Click the Add
button (to make available the fields of the selected datasheet) and the Close or exit button to
close the Show Table dialogbox.
In the grid of the query design, we use the Fields row to select the fields we wish to use. We
can use the rows labeled Criteria and Or (and, if necessary, the unlabeled rows following the Or
row – these are additional Or rows) to specify filtering. For example, to select the records of
the registrants who require parking, under Parking, in the Criteria row, we can use either
Notice the row of the query design labeled Show. In this row, there is a checkbox for every
field. If the checkbox is checked, the field will appear in the datasheet view; if not, the field will
not appear. For example, if we design a query to filter for a set of records each of which has
the same value in some field, we might feel showing that field is unnecessary. For example, we
can use the Parking field without showing it by filtering as discussed above, and unchecking the
Show checkbox for this field.
The Sort row of the query design may be used to choose any field(s) to sort the records. If
multiple fields are chosen for sorting, the higher priority corresponds to leftward location. For
example, sorting alphabetically by LastName as the primary (most important) field of the sort,
and FirstName as the secondary field (first tiebreaker), requires that LastName be to the left of
FirstName in the query.
Similarly, to sort using the conference fee as the primary field, the room charge as the
secondary field, and the restaurant charge as the tertiary field, among these three fields, we
must have ConferenceFee leftmost, and RestaurantCharge rightmost.
Suppose we want the records selected to satisfy the following properties:
The conference fee should be at least $400, and
The room charge should be over $200, and
The restaurant charge should be at least $75.
Recall that the AND operator requires the use of the same line in the filter design. Thus, all of
the filtering expressions are on the Criteria line:
Under ConferenceFee, use the filtering expression >=400
Under RoomCharge, use the filtering expression >200
Under RestaurantCharge, use the filtering expression >=75
Suppose we modify our query to select the records satisfying
The conference fee should be at least $400, or
The room charge should be over $200, or
The restaurant charge should be at least $75.
The filtering can be designed as follows:
Under ConferenceFee, on the Critera line, use the filtering expression >=400
Under RoomCharge, on the Or line, use the filtering expression >200
Under RestaurantCharge, on the unlabeled line following the Or line (regarded as the
2nd Or line) use the filtering expression >=75
Suppose we want to select the records of registrants from other (non-US) countries who
have a room charge of at least $150. We design our filter as follows.
On the Criteria line:
Under Country, use Is Not Null
Under RoomCharge, use >=150
A report is a document rather different from a datasheet. It uses a datasheet as the source of
records that it processes; but a report can display its data more flexibly than can a datasheet.
For example, a report can display summary data either for all records, or for various groups of
records, and can be designed in a wider variety of formats. Indeed, the design of a report has
much in common with the design of a form.
You can create a report on the Create tab, using the Reports section of the ribbon. I
recommend using the Report Wizard button for this purpose. The steps of this wizard:
1. Choose the datasheet that is to be the report’s source of records, and the fields from
this datasheet that the report will use.
2. Choose whether or not to use grouping levels, and, if so, which field(s) to group by – by
clicking the field(s) chosen for grouping and clicking the right-arrow button. This means
you can create groups of records, according to the values of the field(s) you choose to
group by. For example, you might create Gender groups by choosing to group by
Gender, or by StateOrProvince. Note this is a form of sorting – the groups in the report
are listed in ascending order according to the field(s) used to determine groups. If you
choose not to create groups, merely click the Next button.
3. You may choose up to 4 fields to sort by (in addition to any fields you group by), each in
either ascending or descending order. The first field picked is the primary field of the
sort (after any grouping fields); the 2nd field picked is the secondary field of the sort
(after any grouping fields); etc. Note the buttons labeled Ascending or Descending are
toggles. Note also, if you choose to group, the Summary Options button, which gives a
simple way to compute summary statistics (SUM, AVG, MIN, and/or MAX) for any
grouping field in the group’s footer.
4. Choose a layout and an orientation. For most purposes, the Tabular layout (for an
ungrouped report) or the Stepped layout (for a grouped report) is easiest to read and
understand, as it has in common with a datasheet the use of a column for a field and a
row for a record. The orientation is the familiar choice of Portrait (8.5” edge of paper is
horizontal and 11” edge is vertical) or Landscape (11” edge is horizontal and 8.5” edge is
5. Pick a style – this determines colors, font properties, and, in some cases, background
6. Pick a title for your report and choose whether to preview it, or to continue its design in
the Design View.
If you have chosen to preview the report at step 6, you now can view the report, with the
ribbon showing a Print Preview tab. Note one of the choices on this tab is to print the
We can get to the Design view from the Print Preview tab by clicking the Close Print Preview
button. The View button, which appears on the Home and Design tabs, allows us to switch
between Report and Design views.
Note that in the Design View, we have had some difficulty moving one control without
moving others (even if they’re not grouped). If you drag by the tiny square in the upper left
corner of the control, it will move without other controls moving with it.
In the Design view, notice the sections of the report:
As in a form’s design, there is a Detail section, which, similarly, is used to specify
how one record is displayed. The graphic controls that appear in the Detail section
are (usually) textboxes, are used to display the data of fields or, sometimes,
calculated from fields, of the current record.
Often, a Report Header is used to display data that will appear at the top of the first
page of the report.
Often, a Page Header is used to display data that will appear at the top of each page
of the report. A common use: column headers, displayed in labels.
If you have chosen grouping levels, there may be a group header, used to appear at
the beginning of the listing of each group’s records. The group header is named for
the field grouped by – e.g., if you group by Gender, this header will be called the
Gender Header, not the Group Header. A typical use is to identify the group, e.g., by
displaying “Gender = F”.
Each type of header has a corresponding footer. A typical use of a group footer
(e.g., Gender Footer) is to display summary data for the group (e.g., average of some
field for all records of the group); typical uses of the page footer include displaying
date and page numbering data; typical uses of the report footer include summary
data for all records of the report.
A calculation can be displayed by placing a textbox with a formula in an appropriate position
in the report (when you place a textbox in the report, it’s automatically accompanied by a
label. If you don’t want this label, click on it and strike Del). If the calculation is desired for
summary data, you may use any of the summary functions Sum, Avg (note the name of the
average function differs from its analog in Excel), Max, Min. A reference to a field in a
formula, as in a form, shows the name of the field enclosed in brackets. The placement of
the textbox in a section is important:
If the textbox is in the Detail section, it’s applied to individual records.
If a textbox with a formula is in the Report Header or Report Footer, its formula is
applied to all records of the report.
If a textbox with a formula is in the Page Header or Page Footer, its formula is
applied to all records of each page.
If a textbox with a formula is in a group header or group footer, its formula is applied
to all records of the group.
Note that it’s often easier to drag in order to align or size controls alike. Instead, you can group
the controls whose alignment or size you wish to make similar, then use buttons that appear on
the Arrange tab (when you’re in the Design view) for sizing and alignment. For example, the
Size section of the Arrange tab allows you to adjust all members of the group to have the same
height (respectively, width) as the largest (tallest, widest) or smallest (shortest or narrowest) of
the group members. In the Control Alignment section of the Arrange tab, we can choose to
align the controls of a group to a specified edge (top, bottom, left, or right).
Suppose we want to create a report that enables us to compare restaurant spending by gender
groups. We can create a report in which we choose to group the records by Gender, and
compute the appropriate summary statistics for each group.
It’s often useful to have multiple tables in a database, one reason for which is doing so often
prevents excessive duplication of data and facilitates better organization. We’ll illustrate by
creating a Sessions table in our database with fields for the Session of the conference, location,
and time. We’ll add a Seminar field to the Registration table, showing which seminar a
registrant will attend. The Seminar field will have the same values as the Session field of the
Sessions table; this coincidence of values will establish a relationship between these fields,
making ours a relational database. Relations between fields of different tables enable us to
“join” records in forming forms, queries, and reports.
It’s useful to declare our Session field as a Primary Key. A primary key is a field not permitted to
have duplicate values among the records. An error message is displayed if you attempt to enter
the same value into the primary key field in different records. Thus, a primary key field might
be a student number field, or a Social Security Number field, in other tables. With the Design
View, using the Design Tab, and the cursor at the field to be so designated, we choose the field
to be a primary key by clicking the Primary Key button.
We entered the possible data values of the Session field via the Lookup Wizard. Now, we add a
Seminar field to the Registration table via the Lookup Wizard, but differently than in our
previous uses of the Lookup Wizard: now, choose to “… look up the values in a table …” – since
we already have the values in the Session fields of the Sessions table. Choose the table and
field containing the desired values.
If you go to the Database Tools tab and click the Relationships button, an illustration of existing
relationships appears, showing that we have created a relationship between the Session field of
the Sessions table and the Seminar field of the Registration table. We can edit the relationship
(the related tables must be closed to do this) by right-clicking the line connecting the related
fields; choosing Edit Relationship from the resulting menu; check the checkbox labeled Enforce
Referential Integrity (this sets up some error-checking) and click OK. As one result, note that
the line connected the related fields has a “1” symbol next to the Session field and an infinity
symbol next to the Seminar field. This indicates that these fields are in a one-to-many
relationship – that is, one record of the Sessions table is, possibly, connected by this related
pair of fields to many records of the Registration table, corresponding to the fact that many of
the registrants will attend the same Session/Seminar. Which end of the relationship gets the
“1”? A field designated as a primary key must be on the 1 end of a one-to-many relationship. If
you don’t select a primary key, it may be that Access won’t permit to create such a relationship;
or, if it does, the relationship could have the wrong direction.
Having creating the relationship described above, we can now create forms, queries, and
reports in which the records of the two tables are joined by the relationship. For example, let’s
create a report in which we group the participants by the session/seminar in which they’re
registered, showing location and time, and totaling (for each group) the fee revenue. We
choose both tables as data sources, choosing the fields desired from each table (choosing only
one of Seminar or Session fields to appear).
Another way to establish a relationship: As before, we introduce another table, one of whose
fields will be on the “1” side of a 1-to-many relationship. Recall that this field should be
designated as a primary key. When the data of this field, and the data of the corresponding
field on the “many” side of the relationship has been entered, we close these tables and edit
the relationship in a fashion similar to, but slightly differently, than described above. On the
Database Tools tab, click the Relationships button. Any previously created relationships appear
on the resulting dialogbox. Use the Show Table button to bring into view any datasheet to be
used in a relationship if the datasheet isn’t already in view. Proceed as described earlier to put
the appropriate fields into a relationship.
One of the themes of this course has been the theme of data integration – using data from one
software application in a document of another application, often via copy-and-paste. For
example, we have seen that we can copy datasheet data from an Access database to a Word
document. What about copying data from an Access report into a Word document? It doesn’t
appear that we can block a large block of data of a report, although we can block small blocks
of data, e.g., a name (the contents of a textbox). However, we can use the following process to
place a copy of an Access report into a Word document:
Export the report as a file separate from the database. To “export” a document is to
save it, usually in a different file format than the document is customarily saved in. For
our current purposes, we’ll save the Access report as a .RTF (Rich Text Format) file, a
form that Microsoft Word can read. Use the External Data tab; click the Word button; a
dialogbox appears in which you typically use the Browse to direct a save operation to
the right disk/network space, folder; choose an appropriate file name; click Save.
Import (insert) the saved report file into the Word document. This is done as follows.
On Word’s Insert tab, click the Object button and choose Object from the resulting
menu. In the resulting dialogbox, click the Create From File tab and use the Browse
button to retrieve the saved report file.
The importation might not have the desired appearance in the containing document.
However, if you click the imported object in the containing document, it can open into
another Word window as a “Document in” (the other file), and can edited in this
“Document in” window. For example, the report might say “Page 1” even if placed on
page 2 of the containing document; it would seem wise to edit such data out of the
imported report. Edits made in the “Document in” document are reflected in the
Another form of data integration between Access and Word is mail merge, in which templates
or form letters with “blanks to be filled in” are created, the “blanks” being designations of fields
of the database. For each record of a datasheet, the form letter is customized to the record by
substitution of each field’s data.
One of the Word ribbon’s tabs is the Mailings tab. Its Start Mail Merge button is used to start
the process of creating a mail merge. If you choose Letters from the resulting menu, you can
begin editing a mail merge template (form letter). If you click the Select Recipients button, you
can retrieve a database from which data will be merged into the template by clicking Use
Existing List from the resulting menu and retrieving the database file, choosing the datasheet
from this database that will be the source of data records. Note often this datasheet will often
be chosen as a query that filters records from a table (or from a previously designed query).
The template can be edited in the usual fashion, except that when we wish to designate a field
from the database as “a blank to be filled in,” we can click the Insert Merge Field button to
choose the field.
When you’re ready to create the customized documents for which the mail merge is designed,
you can click (on the Mailings tab) the Finish & Merge button. The resulting menu includes
Edit Individual Documents – this choice creates a new document that may be called
Letters1, Letters2, etc. In this document, the merged letters appear as sub-documents.
You may edit any of them individually before printing and/or saving.
Print Documents – this choice will send the merged letter(s) you select directly to the