IPT home IPT A Virtual Approach by Peter Whitehouse
Quick Links:
 
 
Access home
Information and Intelligent Systems Social and Ethical Implications Human Computer Interaction Software and Systems Engineering eXercise Files Course Outline and Assessment A-Z of Geeky Acronyms Terrace Work Program 2004 Sillybus FAQ = Frequently Asked Questions Help
 
 

Access Queries

QBE and SQL

Queries

A query in Access, as with any flavour of SQL, can perform a wide variety of purposes.

A Select Query is a request to view information. The source of most of this information is usually fields from tables that exist in the database. The answers that are delivered by queries can take 2 tabular forms:

  • a Dynaset that reflects the current state of the base tables which it queries, and which is usually updatable. This means that changes made to a dynaset's population are transmitted back to the base tables.
  • a Snapshot which reflects a particular state of the base tables and is non-updatable. Snapshots typically contain calculated or grouped data.

An Action Query makes changes to the database population by updating, deleting or adding tuples. A Data Definition Query creates or changes the structure of the database, or database objects contained within it.

It is possible to specify queries using either the QBE (Query By Example) grid, using a Query Wizard or by entering standard SQL. QBE and SQL will be described in this booklet, wizards will not due to their 'inflexible' nature and the lack of low level control they afford.

QBE Design

To Create a NEW QUERY choose New from the Query Database Window (or press the New Query Button on the Button Bar) then the New Query button. You will be presented with a blank Select Query builder grid, and be required to nominate tables or queries that are involved in the query (or press Close to get past this dialog). Once in to the query builder grid, the query can proceed manually (in SQL) or semi- automatically using QBE. Experience shows that it is faster to write queries using a mix of SQL & QBE

To compose a query using QBE:

  • use the droplists to nominate fields you want present in the query (in the order you want them to appear) or drag the field names from the displayed tables into the appropriate field boxes;
  • Apply Sort criteria (ascending/descending) to fields if appropriate;
  • Decide if the column should be shown [X] in the answer table, or invisible [ ] but used as a filter condition;
  • Apply filter Criteria (like ="fred", or <30-Jan-1994) - you will find that the criteria parser in Access is fairly forgiving, and it will convert most criteria into legal expressions automatically.
Simple Select Query

To write a query using SQL press the SQL button on the Button Bar. You will be presented with a blank SQL window. Type your query, as you would using standard SQL.

Wildcards available for criteria in Access include ? (any single character) and * (any sequence of characters). Logical connectives NOT, AND, OR are available, as is the Set Operator IN.

To Execute a Query choose Query then Run from the Top Menu, or press the Run [!] button on the Button Bar or press the Datasheet button on the Button Bar.

Raw SQL Button

To Rename a column for the purposes of display, use Select AlbName AS Recording in SQL (or Recording: AlbName in the QBE grid).

Result Table

To display only part of a field, Access provides Left(string,n), Right(string,n) and Mid(string,start,n). In the MUSIC database for example, if you wanted the first 3 characters of the SerNum field from the Albums table, you could type Select Left(Albums.SerNum,3) in SQL, or place NewTitle:Left(Albums.SerNum,3) in the Field specifier of the QBE grid (NewTitle is a label for the new column in the answer table and can be anything except an existing field name).

To Format the answer recordset you can specify Field Properties by pressing the Properties button on the Button Bar after clicking in the field to be formatted, or directly massage the Datasheet view of the executed query. In addition, in Datasheet View, you have Font, Row Height and Column Height control in the Format menu off the Top Menu.

QBE Query with Parameter

To write a query that prompts for Parameters, include the reference to the parameter (distinct from an existing field name) as a criteria in square brackets: [Please Enter Artist:]. As an example, a query that lists AlbName of the prompted-for Artist could be expressed as illustrated left in QBE and right in SQL.

Parameter Prompt

When run, the query places a prompt window on the screen requiring the user to enter information and click OK (or press enter).

After the user has responded, the query delivers an answer table in default format (i.e. with column names, records delimited by horizontal and vertical lines, with record selectors.

A query that prompts for the first letter of Artists and displays their Albums is as follows:

		select AlbName
		from Albums
		where Artist like [Please Enter Artist's First Letter:] & '*';

A query that prompts for start and finish dates and displays Albums published between those dates is as follows:

		select AlbName
		from Albums
		where PDate between [Start Date:] and [Finish Date:];

To Group records either press the SUM button on the button bar, or use a Group By clause in SQL.

 

wonko@wonko.info
©Copyright t 1992..2017+. Edition 25.150117
wonkosite
Creative Commons License
This work is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 2.1 Australia License
.