Tutorial

Creating a Relational
Database using Base

CopyrightThis document is Copyright © 2013 by its contributors as listed below. You may distribute it ormodify it under the terms of either the GNU General Public License(http://www.gnu.org/licenses/gpl.html), version 3 or later, or the Creative Commons Attribution
License (http://creativecommons.org/licenses/by/3.0/), version 3.0 or later.
All trademarks within this guide belong to their legitimate owners.

Contributors
Dan Lewis
Ron Faile Jr.
Jean Hollis Weber
Hazel Russman

Feedback
Please direct any comments or suggestions about this document to:
documentation@global.libreoffice.org

Acknowledgments
This chapter is based on Chapter 8 of Getting Started with OpenOffice.org 3.3. The contributors tothat chapter are:
Dan Lewis
Iain Roberts

Magnus Adielsson
Jean Hollis Weber

JiHui Choi

Publication date and software version
Published 7 December 2013. Based on LibreOffice 4.0.

Note for Mac users
Some keystrokes and menu items are different on a Mac from those used in Windows and Linux.
The table below gives some common substitutions for the instructions in this chapter. For a moredetailed list, see the application Help.
Windows or LinuxMac equivalent

EffectTools > Options menu
selection

LibreOffice > Preferences

Access setup options

Right-click

Control+click

Opens a context menu

Ctrl (Control)⌘ (Command)

Used with other keys

F5

Shift+⌘+F5

Opens the Navigator

F11

⌘+T

Opens the Styles and Formatting window

Documentation for LibreOffice is available at http://www.libreoffice.org/get-help/documentation

Contents
Copyright..............................................................................................................................2
Contributors................................................................................................................................. 2
Feedback..................................................................................................................................... 2
Acknowledgments........................................................................................................................ 2
Publication date and software version.........................................................................................2

Note for Mac users...............................................................................................................2
Introduction..........................................................................................................................4
Planning a database............................................................................................................5
Creating a new database.....................................................................................................6
Creating database tables....................................................................................................7
Using the Wizard to create a table...............................................................................................7
Creating a table by copying an existing table.............................................................................10
Creating tables in Design View..................................................................................................10
Defining relationships................................................................................................................. 13

Creating a database form..................................................................................................15
Using the Wizard to create a form..............................................................................................15
Modifying a form........................................................................................................................ 18
Creating forms and sub forms in Design View...........................................................................25

Entering data in a form......................................................................................................26
Creating queries.................................................................................................................28
Using the Wizard to create a query............................................................................................28
Using the Design View to create a query...................................................................................30

Creating reports.................................................................................................................36
Creating a report........................................................................................................................ 36
Static vs dynamic reports......................................................................................................37
Vacations table report............................................................................................................ 37

Getting Started with Base

3

Introduction
A data source, or database, is a collection of pieces of information that can be accessed or
managed by LibreOffice. For example, a list of names and addresses is a data source that could
be used for producing a mail merge letter. A shop stock list could be a data source managed
through LibreOffice.
This tutorial covers creating a database, showing what is contained in a database and how thedifferent parts are used by LibreOffice.

Note

LibreOffice uses the terms “Data Source” and “Database” to refer to the same thing,which could be a database such as MySQL or dBase or a spreadsheet or text
document holding data.

A database consists of a number of fields that contain the individual pieces of data. Each table ofthe database is a group of fields. When creating a table, you also determine the characteristics ofeach field within it. Forms are for data entry into the fields of one or more tables which have been
associated with the form. They can also be used for viewing fields from one or more tables
associated with the form. A query creates a new table from the existing tables based upon how you
create the query. A report organizes the information from the fields of a query into a document
according to your requirements.

Note

LibreOffice Base uses the HSQL database engine. All of the files created by thisengine, including the database forms, are kept in one zipped file.

CautionTo use Base, you need to use a Java Runtime Environment (JRE). Please go toTools > Options > LibreOffice > Advanced to choose a JRE from those installed
on your computer.
If no JRE is already installed, you will need to download and install one. For
Windows, you need to get Java from www.java.com. For Linux, you can download itfrom the same website or you can use openjdk-7-jre, available from the repository of
your Linux version. Mac OS X users can install a JRE from Apple Inc.

Base creates relational databases. This makes it fairly easy to create a database in which thefields of the database have relationships with each other.
For example: Consider a database for a library. It will contain a field for the names of the authors
and another field for the names of the books. There is an obvious relationship between the authors
and the books they have written. The library may contain more than one book by the same author.
This is what is known as a one-to-many relationship: one author and more than one book. Most if
not all the relationships in such a database are one-to-many relationships.
Consider an employment database for the same library. One of the fields contains the names ofthe employees while others contain the social security numbers, and other personal data. The
relationship between the names and social security numbers is one-to-one: only one social security
number for each name.
If you are acquainted with mathematical sets, a relational database can easily be explained interms of sets: elements, subsets, unions, and intersections. The fields of a database are theelements. The tables are subsets. Relationships are defined in terms of unions and intersections of
the subsets (tables).
To explain how a database works and how to to use it, we will create one for automobile expenses.

Introduction

4Planning a database
The first step in creating a database is to ask yourself many questions. Write them down, andleave some space between the questions to write the answers later. At least some of the answers
should seem obvious after you take some time to think.
You may have to go through this process a few times before everything becomes clear in yourmind and on paper. Using a text document for these questions and answers makes it easier tomove the questions around, add additional questions, or change the answers.
Here are some of the questions and answers I developed before I created a database for
automobile expenses. I had an idea of what I wanted before I started, but as I began asking
questions and listing the answers, I discovered that I needed additional tables and fields.
What are the fields going to be? My expenses divided into three broad areas: fuel purchases,
maintenance, and vacations. The annual cost for the car’s license plate and driver’s license every
four years did not fit into any of these. It will be a table of its own: license fees.
What fields fit the fuel purchases area? Date purchased, odometer reading, fuel cost, fuel quantity,and payment method fit. (Fuel economy need not be included, as it can be calculated using aquery.)
What fields fit the maintenance area? Date of service, odometer reading, type of service, cost ofservice, and next scheduled service of this type (for example, for oil changes list when the next oilchange should be). But it would be nice if there was a way to write notes. So a field for notes wasadded to the list.
What fields fit the vacations area? Date, odometer reading, fuel (including all the fields of the fueltable), food (including meals and snacks), motel, total tolls, and miscellaneous. Since thesepurchases are made by one of two bank cards or with cash, I want a field to state which payment
type was used for each item.
What fields fit into the food category? Breakfast, lunch, supper, and snacks seem to fit. Do I list all
the snacks individually or list the total cost for snacks for the day? I chose to divide snacks into two
fields: number of snacks and total cost of snacks. I also need a payment type for each of these:
breakfast, lunch, supper, and total cost of snacks.
What are the fields that are common to more than one area? Date appears in all of the areas as
does odometer reading and payment type.
How will I use this information about these three fields? While on vacation, I want the expenses foreach day to be listed together. The date fields suggest a relationship between the vacation table
and the dates in each of these tables: fuel and food, This means that the date fields in these tables
will be linked as we create the database.
The type of payment includes two bank cards and cash. So we will create a table with a field forthe type of payment and use it in list boxes in the forms.

Tip

While we have listed fields we will create in the tables of the database, there is one
more field that may be needed in a table: the field for the primary key. In some
tables, the field for the primary key has already been listed. In other tables such as
the payment type, an additional field for the primary key must be created.

Planning a database5

Creating a new database
To create a new database, choose File > New > Database from the menu bar, or click the arrownext to the New icon on the Standard toolbar and select Database from the drop-down menu. Bothmethods open the Database Wizard.
On the first page of the Database Wizard, select Create a new database and then click Next.
The second page has two questions. Make sure the choice for the first question is Yes, register
the database for me and the choice for the second question is Open the database for editing.
Click Finish.

Note

The F4 key opens and closes the Data Source window containing the list ofregistered databases. You can access this window and its data while using Writerand Calc. If the database is not registered, this window does not contain it. So, you
can not access the database to use in Writer nor Calc.

Save the new database with the name Automobile. This opens the Automobile – LibreOffice Basewindow. Figure 1 shows part of this window.

Figure 1: Creating database tables

Tip

CautionEvery time the Automobile database is opened, the Automobile – LibreOffice Basewindow opens. Changes can then be made to the database. The title for this windowis always <database name> – LibreOffice Base.

As you create a database, you should save your work regularly. This means morethan saving what you have just created. You must save the whole database as well.
For example, when you create your first table, you must save it before you can close
it. When the table is first saved, it is also made part of the database in memory. Only
when you save the database file do you write the table in the database file.

Creating a new database6

Creating database tables
In a database, a table stores information for a group of things we call fields. For example, a table
might hold an address book, a stock list, a phone book or a price list. A database must have atleast one table and may have several.
To work with tables, click the Tables icon in the Database list, or press Alt+a. The three tasks thatyou can perform on a table are in the Tasks list (see Figure 1).

Using the Wizard to create a table
Wizards are designed to do the basic work. Sometimes this is not sufficient for what we want; inthose cases we can use a wizard as a starting point and then build upon what it produces.
The Table Wizard in Base contains two categories of suggested tables: business and personal.
Each category contains sample tables from which to choose. Each table has a list of available
fields. We can delete some of these fields and add other fields.
A field in a table is one bit of information. For example, a price list table might have one field for
item name, one for the description, and a third for the price.
Since none of the fields we need for our Automobile database are contained in any of the sample
wizard tables, we will create a simple table using the wizard that has nothing to do with our
database. This section is merely an exercise in explaining how the Wizard works.
The Wizard permits the fields of the table to come from more than one suggested table. We will
create a table with fields from three different suggested tables in the Wizard.

CautionEvery table requires a Primary key field. (What this field does will be explained later.)
We will use this field to number our entries and want that number to automaticallyincrease as we add each entry.

Click Use Wizard to Create Table. This opens the Table Wizard (Figure 2).
Step 1: Select fields.
We will use the CD-Collection Sample table in the Personal category to select the fields we need.
1) Category: Select Personal. The Sample Tables drop down list changes to a list of personal
sample tables.
2) Sample tables: Select CD-Collection. The Available fields box changes to a list of available
fields for this table.
3) Selected fields: Using the > button, move the following fields from the Available fields
window to the Selected fields window in this order: CollectionID, AlbumTitle, Artist,
DatePurchased, Format, Notes, and NumberofTracks.
4) Selected Fields from another sample table. Click Business as the Category. SelectEmployees from the drop down list of sample tables. Use the > button to move the Photofield from the Available fields window to the Selected fields window. It will be at the bottomof the list directly below the NumberofTracks field.
5) If you make a mistake in selecting fields, click on the field name in the Selected fields list
and use the < button to move it from the Selected fields list back to the Available fields list.
6) If you make a mistake in the order of the selected fields, click on the field name that is in
the wrong order and use the Up or Down arrow on the right side of the Selected fields list
to move the field name to the correct position.
7) Click Next.

Creating database tables

7

Figure 2: Selecting fields for the table
Step 2: Set field types and formats.
In this step you give the fields their properties. When you click a field, the information on the rightchanges. (See Figure 3.) You can then make changes to meet your needs. Click each field, one ata time, and make the changes listed below.

Figure 3: Changing field types

Note

If any of these fields requires a mandatory entry, set Entry required to Yes. A blankfield will then not be allowed. In general, only set Entry required to Yes if something
must always be put in that field. By default, Entry required is set to No.

• CollectionID: Change AutoValue from No to Yes. (example of a manditory entry)• AlbumTitle:–
Entry required: Leave Entry required as No, unless all of your music is in albums.
–
Length: Unless you have an album title that exceeds 100 characters counting thespaces, do not change the length.

• Artist: Use the Default setting. And since music has artists, set Entry Required to Yes.
• Date Purchased: Field type: default date setting. Entry required should be No. (You may
not know the date.)

Creating database tables

8

Note

In Base the maximum length of each field must be specified on creation. It is noteasy to change this later, so if in doubt specify a greater length. Base uses VCHAR
as the field format for text fields. This format uses only the actual number ofcharacters in a field up to the limit set, so a field containing 20 characters will occupy
only 20 characters even if the limit is set at 100. Two album titles containing 25 and32 characters respectively will use space for 25 and 32 characters and not 100
characters.

• Format: Only change the Entry Required setting: from No to Yes.
• Notes: No changes are required.
• NumberofTracks: Change the Field Type to Tiny Integer [TINYINT]. Your allowable numberof tracks will be 999. Small Integer [SMALLINT] would allow 99999 tracks if you needed
more than 999 tracks.

• Photo: Use the default settings.
When you have finished, click Next.

Note

Each field has a Field Type, which must be specified. Types include text, integer, date,and decimal. If the field is going to have general information in it (for example, a nameor a description), use text. If the field will always contain a number (for example, aprice), the type should be decimal or another numerical field. The wizard picks theright field type, so to get an idea of how this works, see what the wizard has chosen
for different fields.

Step 3: Set primary key.
1)
2)
3)
4)
5)

Create a primary key should be checked.
Select option Use an existing field as a primary key.
In the Fieldname drop down list, select CollectionID.
Check Auto value if it is not already checked.
Click Next.
A primary key uniquely identifies an item (or record) in the table. For example, you
might know two people called “Randy Herring” or three people living at the same
address and the database needs to distinguish between them.

Note

The simplest method is to assign a unique number to each one: number the first
person 1, the second 2, and so on. Each entry has one number and every number isdifferent, so it is easy to say “record ID 172”. This is the option chosen here:
CollectionID is just a number assigned automatically by Base to each record of thistable.

Step 4: Create the table.
1) If desired, rename the table at this point. If you rename it, make the name meaningful toyou. For this example, make no changes.
2) Leave the option Insert data immediately checked.
3) Click Finish to complete the table wizard. Close the window created by the table wizard.
You are now back to the main window of the database with the listing of the tables, queries,
forms, and reports. Notice that a table named “CD-Collection” is now listed in the Tables
portion of the window.

Creating database tables

9Creating a table by copying an existing table
If you have a large collection of music, you might want to create a table for each type of music you
have. Rather than creating each table from the wizard, you can make copies of the original table,
naming each according to the type of music contained in it.
1) Click on the Tables icon in the Database pane to see the existing tables.
2) Right-click on the CD-Collection table icon. Choose Copy from the pop-up menu.
3) Move the mouse pointer below this table, right-click, and select Paste. The Copy tabledialog opens.
4) Change the table name to Pop and click Next.
5) Click the >> button to move all the fields from the left box to the right box and click Next.
6) Since all the fields already have the proper Field type, no changes should be needed.
However, this is the time and place to make any changes if they are needed. (See Caution
below for the reason why.) Click Create. The new table is created.

CautionOnce tables have been created using the wizard, and data has been entered, editing
them should be very limited. Fields can be added or deleted, but adding a fieldrequires you to enter the data for that one field for every existing record with an entry
for that field.
Deleting a field deletes all the data once contained in that field. Changing the field
type of a field can lead to data being lost either partially or completely. Whencreating a new table, it pays to create the fields with the correct names, length, andformat before you add any data.
Deleting a table removes all of the data contained in every field of the table. Unless
you are sure, do not delete a table.

Creating tables in Design View
Design View is a more advanced method for creating a new table, in which you directly enter
information about each field in the table. We will use this method for the tables of our database.

Note

While the Field type and formatting are different in Design View, the concepts are
the same as in the Wizard.

The first table to be created is Fuel. Its fields are FuelID, Date, FuelCost, FuelQuantity, Odometer,
and PaymentType.
1) Click Create Table in Design View.
2) FuelID field: Type FuelID as the first Field Name. Press the Tab key to move to the Field
Type column. Select Integer [INTEGER] as the Field Type from the drop down list. (Thedefault setting is Text [VARCHAR].)Tip

A shortcut for selecting from the Field Type drop down list: press the key for the first
letter of the choice. You can cycle through the choices for a given letter by
repeatedly pressing that key.

a) Change the Field Properties in the bottom section.
Change AutoValue from No to Yes.

Creating database tables

10b) Set FuelID as the Primary key.
Right-click on the green triangle to the left of FuelID (Figure 4) and choose Primary
Key from the menu. This places a key icon in front of FuelID.

Figure 4: Defining the primary key field
The primary key serves only one purpose: to identify the record uniquely. Any namecan be used for this field. We have used FuelID for convenience, so we know towhich table it belongs.

Note3) All other fields (Date, FuelCost, FuelQuantity, Odometer, and PaymentType):a) Type the next field name in the Field Name column.
b) Select the Field Type for each field.
• For Date use Date[DATE]. (Press the D key to select it.)

c)

•
•

PaymentType uses Text [VARCHAR], the default setting.

••

Odometer: Change the Length to 10 and the Decimal places to 1.

All other fields use Number [NUMERIC]. (Press the N key once to select it.)
FuelCost, FuelQuantity, and Odometer need changes in the Field Properties section(Figure 5).
• FuelQuantity: Change Length to 6 and Decimal places to 3. (Many fuel pumps
measure fuel to thousandths of a gallon in the USA, where I live.)
FuelCost: Change the Length to 5 and Decimal places to 2. Click the Format
example button (Figure 5). This opens the Field Format window (Figure 6). Use
Currency as the Category and your currency as the Format. My currency has
two decimal places. Use what is appropriate for yours.

Creating database tables

11

Figure 5: Changing field properties
4) To access additional formatting options, click the button to the right of the Format example
field.
5) Description can be anything, or can be left blank.

Figure 6: Field Format options
6) To save and close the table, choose File > Save. Name the table Fuel. Close the Fueltable.
Follow the same steps to create the Vacations table. The fields and their field types are listed in
Figure 7. Make sure you make the Date field the primary key before closing. (Right-click the graybox to the left of Date and select Primary key from the menu.) Save the table and name it
Vacations. Close the Vacations table.

Creating database tables

12Figure 7: Fields in Vacations table

Defining relationships
Now that the tables have been created, what are the relationships between our tables? This is thetime to define them based upon the questions we asked and answered in the beginning.
When on vacation, we want to enter all of our expenses at once each day. Most of these expenses
are in the Vacations table, but the fuel we buy is not. So we will link these two tables using theDate fields. Since the Fuel table may have more than one entry per date, this relationship between
the Vacations and Fuel tables is one to many (it is designated 1:n.)
The Fuel and Maintenance tables do not really have a relationship even though they share similarfields: Date and Odometer.

Tip

As you create your own databases, you will also need to determine where tables are
related and how.

1) To begin defining relationships, choose Tools > Relationships. The Automobile –LibreOffice Base: Relation Design window opens and the Add Tables dialog pops up. (Youcan also open it by clicking the Add Tables icon on the Relation Design window.)2) On the Add Tables dialog, use either of these ways to add a table to the Relation Design
window:••

Double-click the name of the table. In our case, do this for both Vacations and Fuel.

Or, click the name of the table and then click Add for each table.
3) Click Close to close the Add Tables dialog when you have added the tables you want.

Creating database tables

134) You can define the relationship between the Vacations and Fuel tables in two ways:•

Click and drag the Date field in the Fuel table to the Date field in the Vacations table.
When you release the mouse button, a connecting line forms between the two datefields.

•Or, click the New Relation icon. This opens the Relations window (Figure 9). Our two
tables are listed in the Tables involved section.
a) In the Fields involved section, click the drop down list under the Fuel label.
b) Select Date from the Fuel table list.
c) Click in the cell to the right of this drop down list. This opens a drop down list for
the Vacations table.
d) Select Date from the Vacations table list. It should now look like Figure 9.
e) Click OK.

Figure 8: Designation for a 1:n relationship

Figure 9: Selected fields in a relationship5) Modifying the Update options and Delete options section of the Relation window.
a) Right-click the line connecting the Date fields in the two table lists to open a menu.
b) Select Edit to open the Relations dialog (Figure 10).

Figure 10: Update options and Delete options sectionc)Select Update cascade.

Creating database tables

14

d)
e)

Select Delete cascade.
Click OK to close the Relations dialog and choose File > Save to save the Relation
Design window.

While these options are not strictly necessary, they do help. Having them selected permits
you to update a table that has a relationship defined with another table which has been
modified. It also permits you to delete a field from the table without causing inconsistencies.

Creating a database form
Databases are used to store data. But, how is the data put into the database? Forms are used to
do this. In the language of databases, a form is a front end for data entry and editing.

Figure 11: Fields of a simple form

Figure 12: Simple form with additions

A simple form consists of the fields from a table (Figure 11). More complex forms can contain muchmore, including additional text, graphics, selection boxes, and many other elements. Figure 12 is
made from the same table with a text label (Fuel Purchases), a list box placed in PaymentType,and a graphic background.
A list box is useful when a field contains a fixed choice of options. It saves you from having to typein data by hand, and ensures that invalid options are not entered.
In our database, payments for food or fuel might be made from one of two credit cards (Dan or
Kevin) or in cash, so these would be the available options for all boxes that contain payments.
To create a list box, we first need to create a small, separate table containing the options. This isthen linked to the corresponding field in the form. The topic is dealt with in detail in the Base User
Guide and will not be pursued further here.

Using the Wizard to create a form
We will use the Form Wizard to create a Vacations form, which will contain a form and a subform
In the main database window (Figure 1), click the Forms icon in the left column. In the Tasks list,
double-click Use Wizard to Create Form to open the Form Wizard (Figure 13). Simple forms
require only some of these steps, while more complex forms may use all of them.
Step 1: Select fields.
1) Under Tables or queries, select Table: Vacations. Available fields lists the fields for the
Vacations table.
2) Click the right double arrow to move all of these fields to the Fields in the form list. Click
Next.

Creating a database form

15

Figure 13: Form Wizard steps
Step 2: Set up a subform.
Since we have already created a relationship between the Fuel and Vacations tables, we will usethat relationship. If no relationship had been defined, this would need to be done in step 4.
1) Click the box labeled Add Subform
2) Click Sub form based upon existing relation.
3) Fuel is listed as a relation we want to add. So click Fuel to highlight it, as in Figure 14. Click
Next.

Figure 14: Adding a subform
Step 3: Add subform fields.
This step is similar to step 1. The only difference is that not all of the fields will be used in the
subform.
1) Fuel is preselected under Tables or queries.
2) Use the >> button to move all the fields to the right.
3) Click the FuelID field to highlight it.
4) Use the < button to move the FuelID to the left (Figure 15).
5) Click Next.

Creating a database form

16

Figure 15: Selecting fields of a sub form
Step 4: Get joined fields.
This step is for tables or queries for which no relationship has been defined. Because we havealready defined the relationship, the wizard skips this step.

Note

It is possible to create a relationship between two tables that is based upon morethan one pair of fields. How to do that and why is discussed in the Base Guide.

When selecting a pair of fields from two tables to use as a relationship, they have tohave the same field type. That is why we used the Date field from both tables: boththeir field types are Date[DATE].

CautionWhether a single pair of fields from two tables are chosen as the relationship or two
or more pairs are chosen, certain requirements must be met for the form to work.

• No field from the subform can be the Primary key for its table. (FuelID cannot be
used.)• Each pair of joined fields must have the same file type.
• One of the fields from the main form must be the Primary key for its table. (Datewould have to be used.)

Creating a database form

17

Step 5: Arrange controls.
A control in a form consists of two parts: label and field. This step in creating the form determines
where a control’s label and field are placed relative to each other. The four choices from left to rightare Columnar left, Columnar - Labels on top, As Data Sheet, and In Blocks - Labels Above.
1) Arrangement of the main form: Click the second icon (Columnar - Labels on top). The
labels will be placed above their field.
2) Arrangement of the sub form: Click the third icon (As Data Sheet). (The labels are column
headings and the field entries are in spreadsheet format.) Click Next.
Step 6: Set data entry.
Unless you have a need for any of these entries to be checked, accept the default settings. Click
Next.
Step 7: Apply styles.
1) Select the color you want in the Apply Styles list. (I chose the beige which is Orange 4 in
the Color table.)2) Select the Field border you want. (I prefer the 3D look. You might want to experiment withthe different possible settings.)3) Click Next.
Step 8: Set name.
1) Enter the name for the form. In this case, it is Fuel.
2) Click Modify the form.
3) Click Finish. The form opens in Edit mode.

Modifying a form
We will be moving the controls to different places in the form and changing the background to a
picture. We will also modify the label for the PaymentType field as well as change the field to a list
box.
First, we must decide what we want to change. The discussion will follow this ten step outline of
our planned changes.

• Provide a drop-down capability for the Date field in the main form, and lengthen the field toshow the day of the week, month, day, and year.

• Shorten the length of the payment fields (all fields containing the word Payment).
• Move the controls into groups: food, fuel subform, and miscellaneous.
• Change the wording of some of the labels. Some single words should be two words. Some
abbreviations should be used if possible (Misc. for miscellaneous).

• Change the lengths of several fields and labels. Only Lunch, Supper, Motel, and Tolls haveacceptable lengths. But for a better appearance, changes will be made to these as well.

• Lengthen the Note field vertically, add a scroll bar, and move it.
• Make changes in the Date and PaymentType columns of the subform to match thechanges in the main form.

• Add headings for each group in the main form.
• Change the background to a picture, then modify some of the labels so that they can beread clearly against this background. Change the font color of the headings.
Creating a database form

18

Here are some methods that we will be using in these steps. The controls in the main form consistsof a label and its field. Sometimes we want to work with the entire control, sometimes with only thelabel or the field, and there are times when we want to work with a group of controls.

• Clicking a label or field selects the entire control. A border appears around the control witheight green handles. You can then drag and drop it where you want.

Figure 16: A selected control• Control+click a label or field selects only the label or the field. You can press the Tab key tochange the selection from the field to the label or the label to the field.

Figure 17: Selecting a field of a control• Moving a group of controls is almost as easy as moving one of them.
1)
2)
3)

Click the field of the top left control to be moved, to select it.
Move the cursor to just above and to the left of the selected control.
Drag the cursor to the bottom right of the group of controls and release the mousebutton.

As you drag the cursor, a dashed box appears, showing what is contained in your selection. Make
sure it is big enough to include the entire length of all the controls.
When you release the mouse button, a border with its green handles appears around the controls
you selected.

Figure 18: Selecting multiple controls
Move the cursor over one of the fields. It changes to a drag icon. Drag the group of controls towhere you want them.

• Click the Tolls control to select it. Then drag it to the right close to the Lunch control.

Tip

When either changing size or moving a control, two properties of the Form Design
toolbar should be selected: Snap to Grid, and Guides when Moving. Your controls willline up better, and an outline of what you are moving moves as the cursor moves.
You should also have both rulers active (View > Ruler).

Step 1: Change the Date field.
1) Control+click the Date field to select it.
2) Move the cursor over the middle green handle on the right side. It should change to adouble-headed arrow.

Creating a database form

193) Hold the left mouse button down as you drag the cursor to the right until the length is 6 cm.
The vertical dashed line is lined up with the 6. Release the mouse button.
4) Click the Control icon in the Form Controls toolbar. If it is not visible, choose View >Toolbars > Form Controls. The Properties: Date Field window opens. Each line contains
a property of the field.

Figure 19: Form Controls toolbar•

Scroll down to the Date format property. This is a drop down list with Standard (short)as the default setting. Click it to open the list. Select the Standard (long) entry.

•

Scroll down to the Drop down property. Its default setting is No. It is also a drop down
list. Click to open the list. Select Yes.

Tip

To see what the Date field will look like, click the Form Mode On/Off icon (thesecond icon from the left in Figure 19). You can do this any time you want to see theform with the changes you have made.

Step 2: Shorten the width of some fields.
All of the fields with a label containing the word payment are too wide. They need to be shortened
before the controls are moved.

Figure 20: Selecting a field
1) Control+click the BPayment field.
2) Move the cursor over the middle green handle on the right. The cursor becomes a doubleheaded arrow.
3) Drag the cursor to the left until the field is 2.5 cm (1 inch) wide.
4) Repeat these steps to shorten these fields: Lpayment, SPayment, SnPayment, Mpayment,
and MiscPayment.

Tip

If you have the Snap to Grid and Guides when moving icons selected in the Design
Format toolbar, you will see how wide the field is as you shorten it.

Step 3: Move the controls to group them by category.
We want to move the controls so that they look like Figure 21.
1) Click the first control you want to move. A border appears around the control with eightgreen handles.
2) Move the cursor over the label or field of the control. It changes shape to a drag icon.
3) Drag and drop the control to where you want it.
4) Use the same steps to move the rest of the controls to where they belong.

Creating a database form

20

Figure 21: Positioning of controls

Caution

Do not use Control+click when moving a field. It moves either the field or the label
but not both. To move both, use a plain mouse click and drag to the desired spot.

Step 4: Change the label wording.
Field names have been required to be single words for some time. However, the labels for thefields in a form can be more than one word. So we will change them by editing the text in the label.
1) Control+click the SnackNo label. Do one of the following:••

Right-click the SnackNo label and select Control from the pop-up menu.

••

In the Label selection, edit the label to Snack No.

Or click the Control icon in the Form Control toolbar (Figure 19).
2) The dialog that opens is labeled Properties: Label Field. It contains all the properties of theselected label.
Close the Properties dialog.
3) Use the same procedure to change these labels as well: BPayment to Payment, LPayment
to Payment, SPayment to Payment, Miscellaneous to Misc., SnackCost to Snack Cost,
MPayment to Payment, MiscPayment to Misc. Payment, and MiscNotes to Misc. Notes.

Tip

You can modify all of the listings in the Properties window. For example, if youchange the Alignment from Left to Center, the word or words in the label are
centered within the label. When you have some time, you might want to experimentwith different settings just to see the results you get.

Step 5: Change the widths of the labels and fields.
We want the following controls to be 2 cm wide (0.8 inches): Breakfast, Lunch, Supper, Odometer,
Snack No., Tolls, Snack Cost, Motel, and Misc. All of the payment fields were changed in step 2,
but Misc. Payment needs to be changed to 3 cm (1.2 inches).
1) Right-click Breakfast and choose Position and Size. On the Position and Size dialog,change Width to 2 cm.
2) Repeat for the other listed controls, using 3 cm for Misc.Payment.

Creating a database form

21

When changing the position or size of an entire control, use the Position and Sizedialog or the drag and drop method.

Caution

Note

When working with either the label or the field (but not both at the same time), you
can use the Properties dialog to make these changes when you want to be exact.
However, you need to be careful not to accidentally select the entire control for use
with the Properties dialog or you will apply exactly the same values to both the label
and field. For example, if you enter the values for a new position, both the field andthe label moves to the same position and the field is positioned on top of the label.
Then you will have to move each of them to where you really want them.
To open the Properties window, right-click a control and select Control from the
pop-up menu. Or, you can click the Control icon in the Form Controls toolbar. Just
be careful, and use Control+Z to undo any mistakes you may make. Detailed
instructions on how to use the Properties window are given in the Base Guide.

Step 6: Change the Misc. Notes field.
We want the Misc. Notes control, which has a field type of Memo, to have a vertical scroll bar for
additional text space if desired.

Figure 22: Scroll bar selections in the Properties window
1) Control+click the Misc. Notes field. The green handles should surround the field but not its
label.
2) Click the Control icon to open the Properties window (Figure 22).
3) Scroll down to the Text type property with single-line as the default value.

•

Change it to Multi-line.
4) Scroll down to the Scrollbars setting. Change the selection from None to Vertical in this list.
5) Close the Properties window. (Esc key)6) Lengthen the Misc. Notes field by moving the cursor over the middle green handle at thebottom of the field and dragging down until the length is 6 cm (2.4 inches).

Creating a database form

22

Step 7: Change labels and fields in the subform
The subform is located at the bottom of the form. We want to widen the Date column, and change
the label for the PaymentType column to two words.

• To widen the Date column, move the mouse pointer over the dividing line between the Dateand FuelCost columns. When the pointer changes shape, click and drag to move thedivider to the right.

• To change the PaymentType column:– Right-click the label PaymentType to open the menu.
– Select Column to open the Properties dialog. In the Label property, change
PaymentType to Payment Type.

–

Close the Properties dialog.

Step 8: Add headings to groups.
This step is easier to do if you have end-of-paragraph markers visible. Choose View > Non
printing Characters to turn them on.

Figure 23: Apply Styles list
1) Make sure the cursor is in the upper left corner. If it is not, click in that corner to move it
there.
2) Press the Enter key to move the cursor down to the space between the Date field and theBreakfast field.
3) Change the Apply Styles drop down list from Default to Heading 2.
4) Use the spacebar to move the cursor to where you want the heading to start.
5) Type the heading Meals.
6) Use the spacebar to move the cursor to the center of snack area.
7) Type the heading Snacks.
8) Use the Enter key to move the cursor between the Supper control and the subform.
9) Use the spacebar to move the cursor to the center of the subform.
10) Type the heading Fuel Data.

Note

If you know how to use styles, you can open the Styles and Formatting windowusing F11. Right-clicking the Heading 2 paragraph style allows you to modify theappearance of all three headings. See Chapter 6 of the Writer Guide for details.

Creating a database form

23

Step 9: Change the background of a form.
The background for a form can be a color, or a graphic (picture). You can use any of the colors in
the Color Table at Tools > Options > LibreOffice > Colors. If you know how to create custom
colors, you can use them. You can also use a picture (graphic file) as the background.
1) Right-click the form to open a context menu.
2) Select Page.
3) Make sure the Background tab has been selected. (It will be in bold type while the othertabs will be in default type.)

Figure 24: Page style dialog
4) Click Light cyan. (Second row, fourth column from the left.)5) Click Apply to see the effects of adding the color. OR, click OK to close the dialog.

Tip

Learning how to use styles can be very helpful at times. By using styles, we changed
the font color for all three headings at one time. There are other methods ofchanging the font color, but they require repeating the same steps for each heading.

6) To add a graphic to the background:a) Click the Gallery tool (circled in red). The gallery window opens.

b)c)

Select the graphic you want to use. (I have done these steps selecting pebble-light.)
i)
Browse through the choices.
ii)
Right-click your choice.
iii) Insert > Background > Page
Click the Gallery tool to close the gallery window.

d)

The form should look like Figure 25.

Creating a database form

24

Figure 25: Finished form
Step 10: Change the tab order.
The Tab key moves the cursor from field to field. This is much easier to do than to click each field
to enter data into it. It also permits us to group our expenses into areas before we begin entering
data. For example, all of our meal receipts can be grouped together as can our snacks and also
our fuel purchases.

Figure 26: Form Design toolbar with Activation Order icon circled
1) Control+click the Date field.
2) Click the Form Design icon in the Form Controls toolbar to open the Form Design toolbar(Figure 26), or choose View > Toolbar > Form Design to open this toolbar.
3) Click the Activation Order icon (circled).
4) Rearrange the order of the fields in the Tab Order window.
a) Find the txtMPayment listing near the bottom of the list and click it.
b) Click the Move Up button until txtPayment is just below fmtMotel.
c) Use the same two steps to put the fields in the same order as in Figure 27. Click OK.
5) Save and close the form.
6) Save the database.

Creating forms and sub forms in Design View
This method requires using the Form Controls and Form Design toolbars extensively. These
techniques are beyond the scope of this document. Instructions for creating forms using Design
view will be described in the Database Guide.

Creating a database form

25

Figure 27: Tab order for the main form

Entering data in a form
Records are used to organize the data we enter into a form. They also organize the data we enter
into a subform
Different types of field allow different methods of data entry. In many cases, more than one method
can be used.
The first step to entering data in a form is to open it from the main database window (Figure 1).
1) Click the Forms icon in the Database list.
2) Find the form’s name in the Forms list (Vacations).
3) Double-click the form’s name.
The quickest way to enter a date in the Date field is to click the arrow that opens the drop down
calendar (Figure 28). Then click the day the you want. Then press the Tab key to go to the
Odometer field.

Figure 28: Calendar drop down
The Odometer, Tolls, and Motel fields are numeric fields. Enter values directly into them, or use theup and down arrows. When the value has been entered, use the Tab key to go to the next field.

Entering data in a form

26• Clicking the up arrow increases the value, and the down arrow decreases the value by one
unit.

• These two arrows only change the numerals to the left of the decimal place.
• Numerals to the right of the decimal place must be changed by deleting them and typing
the desired ones.
The Motel’s Payment field is a drop-down list. If, as in my case, all of the elements of the list startwith different letters, typing the first letter selects the desired entry.

• If two or more elements of the list have the same first letter, repeated typing of the first
letter will cycle through these elements.

• When the selection is correct, use the Tab key to go to the Misc. field.
The rest of the fields of the main form are either numeric fields or drop-down lists until we reach theMisc. Notes field. It is a text field. Type anything you desire in this field just as you would any
simple text editor.

Note

Since the Tab key is used to move between fields, it can not be used in a text field.
All spacing must be done by the spacebar. Furthermore in text fields, the Enter key
acts only as a line break to move the cursor to the next line. While the Enter key will
move between non-text fields, it will not do so from a text field. Use the Tab key
instead.
If we did not have a subform for fuel data, pressing the Tab key in the last field would
save all of the fields, clear them, and make the form ready to accept data on thesecond record.

Since we have a subform, using the Tab key places the cursor in the first Date field of the subformwith the date automatically entered to match the Date field of the main form.
The FuelCost, FuelQuantity, and Odometer fields are numeric fields. The Payment field is a dropdown list. Enter the data just as you did in the main form, and use the Tab key to go to the next
field.
When you use the Tab key to leave the Payment field, it goes to the Date field of the next line andautomatically enters the date. Now you can enter your second set of fuel data for this day.
To move to another record when the form has a subform, click any of the fields of the main form. In
this case, click the Date field of the main form. Then use the directional arrows at the bottom.
There are four of them from left to right: First Record, Previous Record, Next Record, and Last
Record (Error: Reference source not found). To the right of these arrows is the New Record icon.
To create a new record while in another record in the main form, click either the Next Record iconor the New Record icon.

Tip

The number in the Record box is the number of the record whose data is shown in
the form.
If you know the number of the record you want, you can enter it into the record box
and then press Enter to take you to that record.

Figure 29 is a record with data inserted in its fields.

Entering data in a form

27

Figure 29: Sample record of the Vacation form and sub form

Creating queries
Queries are used to get specific information from a database. Query results are special tables
within the database.
To demonstrate the use of queries, we will use two different methods:• Using our CD-Collection table, we will create a list of albums by a particular artist. We will
do this using the Wizard.

• The information we might want from the Fuel table includes what our fuel economy is. We
will do this using the Design View. (Queries that require calculations are best created with
the Design view.)

Using the Wizard to create a query
Queries created by the wizard provide a list or lists of information based upon what one wants toknow. It is possible to obtain a single answer or multiple answers, depending upon thecircumstances.
In the main database window (Figure 1), click the Queries icon in the Databases section, then in
the Tasks section, click Use Wizard to Create Query. The Query Wizard window opens (Figure 30).
The information we want is what albums are by a certain musical group or individual (the album’s
author). We can include when each album was bought.

Note

Creating queries

When working with a query, more than one table can be used. Since different tables
may contain the same field names, the format for naming fields in a query is Table
name.field name, with a period (.) between the table name and the field name. For
example, the Lunch field of the Vacation table used in a query has the name
Vacation.Lunch.

28

Step 1: Select the fields.
1) Select the CD-Collection table from the drop down list of tables.
2) Select fields from the CD-Collection table in the Available fields list.
a) Click Artist, and use the > button to move it to the Fields in the Query list.
b) Move the AlbumTitle and DatePurchased fields in the same manner.
c) Click Next.
To change the order of the fields, select the field you want to move and click the up
or down arrow.

Tip

Figure 30: First page of the Query Wizard
Step 2: Select the sorting order.
Up to four fields can be used to sort the information of our query. A little simple logic helps at thispoint. Which field is most important?
In our query, the artist is most important. The album title is less important, and the date purchased
is of least importance. Of course, if we were interested in what music we bought on a given day,the date purchased would be the most important.

Figure 31: Sorting order page1) Click the first Sort by drop down list.
a) Click CD-Collection.Artist to select it.
b) To list the artists in alphabetical order (a-z), select Ascending on the right.

Creating queries

292) Click the second Sort by drop down list.

•

Click CD-Collection.ArtistTitle. and select Ascending.
3) Repeat this process for CD-Collection.DatePurchased.
4) Click Next.
Step 3: Select the search conditions.
The search conditions allow us to compare the name we entered with the names of the artist in our
database and decide whether to include a particular artist in our query or not.

•
•
•
•
•
•
•

is equal to: the same as
is not equal to: not the same as
is smaller than: comes before
is greater than: comes afteris equal or less than: the same as or comes before
is equal or greater than: the same as or comes after
like: similar to in some way

Note

These conditions apply to numbers, letters (using alphabetical order), and dates.

1) Since we are only searching for one thing, we will use the default setting of Match all of thefollowing.
2) We are looking for a particular artist, so select CD-Collection. Artist in the Fields list and isequal to as the Condition.
3) Type the name of the artist in the Value box. Click Next.
Step 4: Select type of query.
We want simple information, so the default setting: Detailed query is what we want. Click Next atthe bottom of the window.

Note

Since we have a simple query, the Grouping and Grouping conditions are notneeded. Steps 5 and 6 of the wizard are skipped in our query.

Step 5: Assign aliases if desired.
We want the default settings. Click Next.
Step 6: Overview.
Name the query (suggestion: Query_Artists). To the right of this are two choices. Select Display
Query. Click Finish.

Using the Design View to create a query
Creating a query using Design View is not as difficult as it may first seem. It may take multiple
steps, but each step is fairly simple.
What fuel economy is our vehicle getting (miles per gallon in the USA)? This question requires
creating two queries, with the first query used as part of the second query.

Creating queries

30Step 1: Open the first query in Design View.

• Click Create Query in Design View.
Step 2: Add tables.

Figure 32: Add Tables or Query dialog
1) Click Fuel to highlight it.
2) Click Add. Click Close.

Tip

Move the cursor over the bottom edge of the fuel table (Figure 33) and drag theedge to make it longer and easier to see all of the fields in the table.

Figure 33: Fuel table in query
Step 3: Add fields to the table at the bottom.
1) Double-click the FuelID field in the Fuel table.
2) Double-click the Odometer field.
3) Double-click the FuelQuantity field.
The table at the bottom of the query window should now have three columns.

Creating queries

31

Figure 34: Query table
Step 4: Set the criterion for the query.
We want the query’s FuelID to begin with the numeral 1.
1) Type >0 in the Criterion cell under FuelID in the query table.
2) Click the Run Query icon in the Query Design toolbar.

Figure 35: Query Design toolbar
Figure 36 contains the Fuel table with my entries and the query results based upon the Fuel table:
the query results are in the right table.

Figure 36: Fuel table

Figure 37: Query of Fuel table
Step 5: Save and close the query.
Since this query contains the final odometer reading for our calculations, name it End-Readingwhen saving it. Then close the query.
Step 6: Create the query to calculate the fuel economy.
1) Click Create Query in Design View to open a new query.
2) Add the Fuel table to the query just as you did in step 2: Add tables But, do not close the
Add Tables window.
Creating queries

323) Add the End-Reading query to this query.
a) Click Queries to get the list of queries in the database (Figure 38).
b) Click End-Reading.
c) Click Add, and then click Close.

Figure 38: Selecting queries to add to another query
Step 7: Add fields to the table at the bottom of the query.
We are going to calculate the fuel economy. To do this we need the FuelQuantity and distancetraveled. Since the FuelQuantity we want to use is the final odometer reading, we will use the EndReading query to get it. We will also use the Odometer field from the Fuel table and End-Reading
query.

Figure 39: Tables in this query
1) Double-click FuelQuantity in the End-Reading query.
2) Double-click Odometer in the End-Reading query.
3) Double-click Odometer in the Fuel table.

Figure 40: Added fields to the query
Step 8: Enter the FuelID difference field.
We want the difference between the FuelID value of the Fuel table and FuelID value of the EndReading query to equal one (1).
1) Type "End-Reading"."FuelID" - "Fuel"."FuelID" in the field to the right of theOdometer field of the Fuel Table.

Creating queries

332) Type the numeral 1 (one) in the Criterion cell of this column.
3) Calculate the distance traveled:••Type "End-Reading"."Odometer" – "Fuel"."Odometer" in the Field cell.
Type >0 in the Criterion cell.

4) Calculate fuel economy: Type ("End-Reading"."Odometer" –"Fuel"."Odometer")/"End-Reading"."FuelQuantity" in the next column to theright of the word Field.

Figure 41: Typing in calculation of fields

Figure 42: Field for distance traveled calculations

Figure 43: Fuel economy calculation field

Creating queries

34When entering fields for these calculations, you must follow this format: table or
query name followed by a period follow by the field name. For hyphenated or
multiple-word names (table or query), use double quotes around the table or queryname. The query will then add the rest of the double quotes as in Figure 43.

Note

Use the arithmetical symbol between the two. More than one calculation can bedone by using parentheses to group the arithmetical operations.

Step 9: Run the query and make some modification.
After we run the query to make sure it works correctly, we will hide all of the fields that we do not
need.

Figure 44: Result of running the fuel economy query
1) Click the Run Query icon in the Design Query toolbar (Figure 35). The results are in Figure
44.
Notice that not all of the last column label is visible because some of the labels are long.
We can fix this problem by using an alias for many of the fields. The labels are replaced bytheir aliases.
2) Add Aliases:
Type in the aliases as they are listed in Figure 45.

Figure 45: Query table with aliases added
3) Run the query again. The results are in Figure 46.

Figure 46: Query run with aliases
We really do not need the column showing the difference between the FuelID fields from the tableand query, so we will hide it. While it will not be visible, it will still be used in the calculations.
4) Hide a column that does not need to be seen.
Remove the check in the box of the Visible cell as in Figure 47.

Figure 47: Making a field invisible in a query run5) Rerun the query (Figure 48).

Creating queries

35

Figure 48: Query run with a hidden column
Step 10: Close, save, and name the query.
My suggestion for a name is Fuel Economy.
1) Click the Save icon.
2) Name the query.
3) Close the query.
4) Save the database file.
There are obviously other calculations that can be made in this query such as cost per distancetraveled and how much of the cost belongs to each of the payment types.

Note

To fully use queries requires a knowledge of set operations (unions, intersections,and, or, complements, and any combinations of these). Having a copy of the
HSQLDB User Guide, available from http://hsqldb.org/, is also extremely useful.

Creating reports
Reports provide information found in the database arranged in a useful way. In this respect, they
are similar to queries. Reports are generated from the database’s tables, views, or queries.
All reports are based upon a single table, view, or query, so you need first to decide what fields you
want to use in the report. If you want to use fields from different tables, you must first combine
these fields in a single query or view. Then you can create a report from this.
For example, a report on vacation expenses includes both fuel costs and meal costs. These values
are contained in fields of two different tables: Vacations and Fuel. So this report requires you tocreate a query or view.

CautionDynamic reports update only the data that is changed or added to a table or query.
They do not show any modifications made to the table or query itself. For example,
after creating the report below, open the fuel economy query created in the previous
section. For the "End-Reading".”Odometer” – “Fuel.”Odometer” column, change thenumber 1 to the number 3. The report will be identical before and after you make thechange. But if you add more data to the query and run the report again, it will containthe new data.

Creating a report
We will create a report on vacation expenses. Certain questions need to be asked before creating
the report.

•
•
•
•
•

What information do we want in the report?
How do we want the information arranged?
What fields are required to provide this information?
Will a query or view have to be created because these fields are in different tables?
Are there any calculations required in the data before being added to the report?

Creating reports

36

The expenses for our vacation are motel, tolls, miscellaneous, breakfast, lunch, supper, snacks,
and fuel. One possible report could list the totals of each of these expense groups. Another could
list the expense totals for each day of the vacation. A third could list the totals for each expensegroup for each type of payment. (This would let us know where the money came from to pay the
expenses.) Once you create a query to do any one of these, you can create a report based upon
the query.
We will create two reports, one listing the expenses each day (other than fuel) and the second
listing fuel statistics. The fields we need for the first report from the Vacations table are: Date,
Motel, Toll, Breakfast, Lunch, Supper, SnackCost, and Miscellaneous. This report only requires the
Vacation table. Had the report listed the total expenses for each of these fields, we would have tocreate a query to provide us with these totals.
The second report involves the Fuel table. Since this table includes fuel purchases at times otherthan during the vacation, we need to create a query that contains only the fuel purchased during
the vacation.

Static vs dynamic reports
When creating a report using the Report Wizard, you have a choice of two types of reports in thelast page of the wizard: static or dynamic. What you should select depends more upon whether
you have a working Report Builder extension or not. If this extension works in your version of
LibreOffice, you should select dynamic every time. Otherwise, your selection should depend upon
whether you want to update the report later. In this case, select dynamic. If you choose static, thereport will always contain the data for the original report date.
LibreOffice has always included the Report Builder extension. For some reason, it does not work insome versions. For these, creating a report is done the same way as is done using OpenOffice.org
3.3, and the Getting Started with Base chapter for OpenOffice.org 3.3 explains the basics forcreating a report that can be used.
With the report builder extension working, selecting the type of report as static gives only a tablelayout of the report's data similar to Figure 53 on page 40. The area above the data can containthings like the author of the report, its date, and its name. A company logo can be placed there as
well. The area below the data can also contain text and fields such as page number of page count.

Note

Editing a static report will be discussed in Chapter 4 of the Base Guide, Data Output.

When dynamic is selected as the report type and the report builder extension is working, the report
can be edited. Its layout can be in one of two formats: a text document or a spreadsheet. Also, it
can be saved in a variety of formats that are available for Writer and Calc documents.
My recommendation for those that have the report builder extension working in their version of
LibreOffice is that they always select dynamic as the report type. You will have more control overthe layout of the report than if you had selected static instead.

Vacations table report
To create a new report.
1) Click the Reports icon in the Database list in the Automobile – LibreOffice Base window(Figure 1).
2) In the Tasks list, click Use Wizard to Create Report. The Report Wizard opens.

Tip

Creating reports

When the Report Wizard opens, the Oracle Report Builder opens in the background.
As you perform the steps of the wizard, it applies these steps to the Report Builder.
You will not be directly using the Report Builder in these steps.

37

Step 1: Field selection
1) Select Table: Vacations in the Tables or Queries drop down list.
2) Use the > to move these fields from the Available fields list to the Fields in report list: Date,
Motel, Tolls, Miscellaneous, Breakfast, Lunch, Supper, and SnackCost. Click Next.

Figure 49: Adding fields to a report
Step 2: Labeling fields
Change any field labels you wish. We will shorten Miscellaneous to Misc. and make SnackCost
into two words.
1) Shorten Miscellaneous to Misc.
2) Add a space to separate SnackCost into Snack Cost.
3) Click Next.

Figure 50: Giving aliases to fields

Creating reports

38

Step 3: Grouping
Since we are grouping by the date, use the > button to move the Date field to the Grouping list.
Click Next.

Figure 51: Selecting fields for grouping data
Step 4: Sort options
We do not want to do any additional sorting.

• Click Next.
Step 5: Choose layout
Use Columnar, three columns for the layout.
1)
2)
3)
4)

Select Columnar, three columns for the Layout of data.
Layout of headers and footers has no possible selections.
Select Landscape as the Orientation for the page layout.
Click Next.

Figure 52: Report Builder template determined by the Report Wizard
Step 6: Create report
1) Label the report: Vacation Expenses.
2) Select Dynamic report.
3) Click Finish.
The report (Figure 53) has been created, but it needs some editing. The date could be formatted
better, and all the numbers need to be formatted as currency. It could use a heading that includes
its name, its author, and the date it was prepared. If the report had more than one page, the page
numbers could be put in a footer of each page, perhaps including the total number of pages.

Creating reports

39

Figure 53: Report without modifications
Report Builder: another way to create reports
When we used the Report Wizard, we created a template in Report Builder for our report. If we edit
our report, we open Report Builder with this template. By modifying the template, we also modify
the report. For example, we can change the Date field’s format, and it will change the format of all
the dates contained in that field in the above report. Similarly, we can change the field formatting of
any of the other fields and change the format everywhere that field appears in the report.
Report Builder can also create reports by itself. To do this you click Create Report in design View.
For instructions on how to use the Report Builder, see Chapter 4 of the Base Guide, Data Output.
We will discuss it in detail there.
For detailed instructions on using Report Builder, see Dmitri Popov’s Sun Report Builder
Guidebook, available in PDF (search for “Sun Report Builder Guidebook”) and printed versions
from Lulu.com: http://www.lulu.com/spotlight/writertools

Note

Creating reports

Report Builder is a LibreOffice extension to assist in report creation. With Report
Builder, you can create stylish, complex database reports. You can define groupand page headers, group and page footers, and calculation fields. It is installed bydefault with LibreOffice.

40