|
クエリの正体は、実はSQLなのです。Accessのクエリは、SQLで記述した命令文(SQLステートメント文)を対話型で自動作成できるようにしたものです。つまり、データの並び替え、抽出という処理を行うたびに、SQLを利用していることになります。
「出張管理」テーブルをサンプルデータとして、クエリとSQLのそれぞれの方法を見ていきましょう。
|
ID |
社員名 |
出発日 |
帰社日 |
目的地 |
旅費額 |
| 2 |
橘 修平 |
2004/07/04 |
2004/07/05 |
京都支店 |
\28,400 |
| 4 |
柴田 喜一 |
2004/07/17 |
2004/07/21 |
東京支店 |
\78,310 |
| 1 |
正道 良一 |
2004/07/02 |
2004/07/05 |
広島支店 |
\56,720 |
| 3 |
田中 邦子 |
2004/07/10 |
2004/07/15 |
福井支店、石川支店 |
\98,200 |
クエリの作成
クエリを作成するのは、下記の手順に従い行います。
- データベースウィンドウの「クエリ」欄にある[新規作成]ボタンをクリックします。
- ウィザードに従い出張管理テーブルを元に選択クエリを作成します。
- 出来上がりをデザインビューで見ると、下記のようになっています。

- このクエリを、Q_出張管理 として保存します。
はじめに、「クエリを利用するということは知らず知らずのうちにSQLを利用していることになります」と申し上げたとおり、クエリの実体はSQLです。
で、あると、クエリ内にSQLの記述が隠れているはずです。次に、これを取り出してみましょう。
- クエリをデザインビューで開きます。
- メニューバーの「クエリ」→「SQL」から「パススルー」をクリックします。
- 下記のウィンドウが開きます。

- ここに記述してある 「SELECT 出張管理.* FROM 出張管理;」 こそが、SQLそのものです。
- これを複写、貼り付けして他に利用することができます。
SELECT 出張管理.* FROM 出張管理;
- SELECTステートメントは、参照するフィールド名を指定します。
- ここではフィールド名ではなく、アスタリスク( * )を用いているので全フィールドが対象になっています。
- FROMステートメントは、参照するテーブル名を指定します。
- SQLステートメントの最後には、セミコロン( ; )を記述します。
補足
- AccessでSQLを用いる場合、このセミコロンは省略可能です。
2004/08/06

|