■ 社員テーブルから上司と部下の氏名を表示する (2000,2002,2003,2007)
社員テーブルに上司IDのフィールドを追加して、上司→部下のように階層化するテーブルを作成します。
1. 新規データベース作成
Accessを起動したら、ツールバーから新規作成のアイコン
をクリックして、作業フォルダworkに新規データベースW040.mdbを作成します。
2. 社員テーブル作成
データベースウィンドウのオブジェクトから[テーブル]をクリックしたら右側の新規オブジェクトのショートカットから[デザインビューでテーブルを作成する]をダブルクリックします。テーブルのデザインビューが表示されたら、表に示すようなフィールドを追加します。
フィールド名社員IDのレコードセレクターをクリックして行を選択したら、ツールバーから主キーのアイコン
をクリックします。ツールバーから上書き保存のアイコン
をクリックして「tbl社員」の名称で保存します。
表 社員テーブルのフィールド構成
|
フィールド名 |
データ型 |
サイズ |
|
社員ID |
数値型 |
長整数型 |
|
氏名 |
テキスト型 |
40 |
|
肩書 |
テキスト型 |
30 |
|
上司ID |
数値型 |
長整数型 |

図 社員テーブルのフィールド構成
3. サンプルデータ入力
ツールバーからデータシートビューのアイコン
をクリックしたら、図に示すようなサンプルデータを入力します。フィールド上司IDには、上司の社員IDを入力します。データシートビューの閉じるボタン
をクリックして、ウィンドウを閉じます。

図 社員テーブルにサンプルデータ入力
4. 上司と部下を同時に表示するクエリ作成
データベースウィンドウのオブジェクトから[クエリ]をクリックしたら右側の新規オブジェクトのショートカットから「デザインビューでクエリを作成する」をダブルクリックします。「テーブルの表示」ダイアログが表示されたら[テーブル]のタブから[tbl社員]をリックして選択します。[追加]ボタンを2回クリックしてクエリビューに追加したら、[閉じる]ボタンをクリックしてダイアログを閉じます。
tbl社員の上司IDをドラッグしたらtbl社員_1の社員IDにドロップします。上司IDと社員IDに結合線が引かれます。

図 tbl社員とtbl社員_1を上司IDと社員IDで結合
tbl社員とtbl社員_1に引かれた結合線をダブルクリックします。「結合プロパティ」ダイアログが表示されたら、[tbl社員の全レコードとtbl社員_1の同じ結合フィールドのレコードだけを含める]のラジオボタンをクリックして選択します。[OK]ボタンをクリックしてダイアログを閉じます。

図「結合プロパティ」ダイアログから結合オプション[2]を選択
tbl社員_1の[氏名]のフィールドをダブルクリックしてクエリグリッドにコピーします。クエリグリッドの抽出条件に「Is Not Null」を入力します。tbl社員の[氏名]と[社員ID]のフィールドをダブルクリックしてクエリグリッドにコピーします。社員IDの並べ替えのドロップダウンリストから[昇順]を選択します。さらに、社員IDの表示のチェックボックスをクリックしてチェックを外します。

図 上司と部下の氏名を表示するクエリ作成
クエリグリッドのtbl社員_1の氏名の上にマウスを移動してマウスの形状が↓に変化したら、クリックして氏名のフィールドを選択します。氏名の右ボタンをクリックして、ショートカットメニューから[プロパティ]を選択します。「フィールドプロパティ」ダイアログが表示されたら、標題に「上司」を入力します。ダイアログの閉じるボタン
をクリックしてダイアログを閉じます。

図 氏名の「フィールドプロパティ」の標題に「上司」を設定
同様の手順で、tbl社員の氏名の「フィールドプロパティ」ダイアログを表示したら、標題に「部下」を入力してダイアログを閉じます。
ツールバーから上書き保存のアイコン
をクリックしたら、「qry上司部下」の名称で保存します。
5. データシートビューに切り替え
ツールバーからデータシートビューのアイコン
をクリックして、データシートビューに切り替えます。データシートビューに上司と部下の氏名が同時に表示されるのを確認したら、閉じるボタン
をクリックしてデータシートビューを閉じます。

図 データシートビューに上司と部下の氏名を同時に表示