Microsoft® Office Access 2003 セミナーテキスト 応用編

Microsoft Office
Access 2003
®
®
セミナー テキスト 応用編
講習の手引き
この手引きは、『Microsoft® Office Access 2003 セミナーテキスト 応用編』を使ってセミ
ナーを実施される講師の方に、ご参考にしていただきたい各情報(セミナー実施時の注意事項、
所要時間、本文内容の補足)をまとめたものです。
より良いセミナーを行うために、この手引きがお役に立てば幸いです。
日経BPソフトプレス
セミナー実施時の注意
以下の点に注意して、セミナーを実施しましょう。
●テキストに記載されている名称で説明すること(講師がテキストに記載されている名称と異
なる名称で説明すると受講者は混乱するため)
。
●受講者からの質問に対して自信のないことは即答を避け、調査後の折り返し回答を徹底する
こと。
●英数字の入力は、特に指示がない限り、半角で入力するよう説明すること。
セミナー実施前に、次の環境を確認しておきましょう。
● Microsoft Office Professional Edition 2003 を完全インストールした状態
●インターネットに接続できる状態
● Microsoft Jet 4.0 Service Pack 8 をインストールした状態
●プリンタがセットアップされている状態
● Office アシスタント ……………………………………………………………………………… オフ
●メニュー
[ツール]メニューの[ユーザー設定]の[オプション]で、次の設定を行います。
[常にすべてのメニューを表示する]……………………………………………………………オン
1
セミナーの所要時間
このセミナーテキストの標準セミナー時間は約 14 時間です。
セミナー時間により、各章の目安の必要時間を基に、自由に実習項目を選択しましょう。各章、
各節の時間は、「はじめに」に記載されている対象者で行った場合の目安です。
第1章
第2章
第3章
第4章
第5章
第6章
リレーションシップ
120 分
1.1 リレーションシップを作成するには
60 分
1.2 データの矛盾を防ぐには
60 分
クエリ
220 分
2.1 結合プロパティとは
40 分
2.2 パラメータクエリを利用するには
30 分
2.3 クエリで集計するには
60 分
2.4 アクションクエリを利用するには
90 分
フォーム
150 分
3.1 コントロールを作成するには
45 分
3.2 メイン/サブフォームを作成するには
45 分
3.3 フォーム上で計算するには
60 分
レポート
60 分
4.1 フィールドを追加するには
20 分
4.2 データに合わせて印刷領域を拡大/縮小するには
20 分
4.3 改ページを設定するには
20 分
マクロ
220 分
5.1 マクロとは
15 分
5.2 マクロを作成するには
30 分
5.3 マクロを実行するには
90 分
5.4 メインパネルを作成するには
85 分
Access の便利な機能
70 分
6.1 テーブル名とフィールド名を変更するには
30 分
6.2 オブジェクトの依存関係を確認するには
40 分
2
本文の注意点と参考情報
本文の章立てに沿って、主な注意点、参考情報をまとめました。セミナーを実施する際の参考と
してください。
第1章
1.1
リレーションシップ
リレーションシップを作成するには
1.1.1
p.2
リレーションシップの種類
■主キーと外部キー
リレーションシップを設定するには、2 つのテーブルに共通のフィールドが必要であること
を、テキストの図を使って説明しましょう。
テキストの図は、[商品]テーブルの "商品コード" (主キー)と対応する共通フィールドを
[受注明細]テーブルに設けて、リレーションシップを設定している例です。主キーである
[商品]テーブルの "商品コード" フィールドと対応する[受注明細]テーブルの "商品コード"
フィールドのことを、"外部キー" と呼ぶことを強調しましょう。
p.2
■一側テーブルと多側テーブル
"主キー" を含む "一側テーブル" は、主キーである共通フィールドの値が必ず 1 件ずつしか存
在しません。これに対して、 "外部キー" を含む "多側テーブル" の共通フィールドには、同じ
値が繰り返し入力される可能性があることを、テキストの図を使って説明しましょう。
たとえば、"商品コード" フィールドの値が "K-200" のレコードは、一側テーブル([商品]
テーブル)の主キーには 1 件しかありませんが、多側テーブル([受注明細]テーブル)の外
部キーには 2 件保存されています。つまり、"商品コード" フィールドの値が "K-200" の商品
"カルシウム" は、受注を 2 回受けたことを意味します。
このように、1 つの商品(一側テーブル)に対して、複数の商品を記録する受注明細(多側
テーブル)があります。
p.3
■リレーションシップの種類
・一対多リレーションシップ
一対多リレーションシップは、[顧客]テーブルの 1 件のレコードが、[受注]テーブルの複
数のレコードに対応します。たとえば、"顧客 ID" フィールドの値が "0008" のレコードは、
"一側テーブル" の[顧客]テーブルには 1 件しかありません。これに対して、"多側テーブル"
の[受注]テーブルには、2 件保存されています。つまり、"顧客 ID" フィールドの値が
"0008" の顧客 "茂木 直哉" から、2003/7/10 と 2003/9/16 の 2 回の受注を受けたこ
とを、テキストの図を使って説明しましょう。
・一対一リレーションシップ
一対一リレーションシップは、通常 1 つのテーブルに保存できるデータを、フィールド数が
多いためにテーブルを分割したり、セキュリティを保つためにテーブルの一部のデータを分
離する場合に利用します。たとえば、[商品]テーブルの各レコードは、[在庫]テーブルの
1 件のレコードにだけ対応します。
つまり、"商品コード" フィールドの値が "K-210" の商品 "ミネラル" は、[商品]テーブルに
1 件、[在庫]テーブルにも 1 件しかないことを、テキストの図を使って説明しましょう。
・多対多リレーションシップ
多対多リレーションシップは、新規に結合テーブルを作成し、[受注]テーブルと[商品]テ
ーブルを参照する外部キーを設定します。多対多リレーションシップは、実際には結合テー
ブルを介した 2 つの一対多リレーションシップです。たとえば、テキストの図の例では、[受
注]テーブルと[受注明細]テーブルの間、
[商品]テーブルと[受注明細]テーブルの間に、
それぞれ一対多リレーションシップを設定し、
[受注]テーブルと[商品]テーブルの間には、
[受注明細]テーブルを結合テーブルとして、多対多リレーションシップを設定しています。
3
"受注 ID" フィールドの値が "6" の受注は、[受注明細]テーブルに 2 件あります。これは、1
人の顧客から同じ日に 2 回の受注を受けたデータであり、それぞれ受注した商品コードが
[受注明細]テーブルに保存されていることを、テキストの図を使って説明しましょう。
p.5
操作:リレーションシップを作成する
Step1
通常、一側テーブルを作成し、それぞれのテーブルにレコードを入力した後に、リレーション
シップの作成を行います。[顧客マスター]テーブル、[商品マスター]テーブル、[受注]テ
ーブル、および[地域]テーブルが一側テーブルに該当します。
p.6
操作:リレーションシップを作成する
Step4
フィールドリストでは、テーブルに設定した主キーフィールドが太字で表示されることを補足
しましょう。
p.6
操作:リレーションシップを作成する
Step5
フィールドリストのサイズを変更するには、フィールドリストの境界線をポイントしてドラッ
グします。
p.7
操作:リレーションシップを作成する
Step6
多側テーブルである[受注]テーブルの "顧客 ID" フィールドを一側テーブルの[顧客マスタ
ー]テーブルの "顧客 ID" フィールドにドラッグしても、同様の操作を行うことができます。
[リレーションシップ]ダイアログボックスでは、主キーのフィールドが左側の[テーブル/ク
エリ]に、外部キーのフィールドが[リレーションテーブル/クエリ]に自動的に表示される
ことを説明しましょう。
p.8
操作:リレーションシップを作成する
Step11
保存しない場合でも、リレーションシップの設定が削除されるわけではありません。[リレー
ションシップ]ウィンドウで保存すると、フィールドリストの位置やサイズなどのレイアウト
が保存され、次回[リレーションシップ]ウィンドウを開いたときに、同じレイアウトで表示
されることを補足しましょう。また、[ファイル]メニューの[リレーションシップの印刷]
をクリックすると、自動的にレイアウトが保存されます。
次回[リレーションシップ]ウィンドウを開いたときに、レイアウトが表示されない場合は、
ツールバーの
1.1.2
p.9
[すべてのリレーションシップの表示]ボタンをクリックします。
クエリで複数のテーブルを結合する
操作:クエリでテーブルを結合する
Step1
データベースウィンドウの[新規作成]ボタンをクリックして表示される[新しいクエリ]ダ
イアログボックスで[デザインビュー]をクリックし、[OK]をクリックしても、クエリを
作成することができます。
p.10
操作:クエリでテーブルを結合する
Step3
必要なテーブルを追加できなかった場合は、ツールバーの
[テーブルの表示]ボタンを
クリックして[テーブルの表示]ダイアログボックスを表示し、テーブルを追加します。また、
誤って不要なテーブルを追加してしまった場合には、不要なテーブルをマウスの右ボタンでク
リックし、ショートカットメニューの[テーブルの削除]をクリックするように補足しましょ
う。
p.10
操作:クエリでテーブルを結合する
Step5
リレーションシップを作成したフィールドをデザイングリッドに追加する場合、作成するクエ
リをデータの入力用に使用するには、多側テーブルの外部キーフィールドを追加することを補
足しましょう。主キーフィールドを追加すると、"顧客 ID" フィールドや "商品コード" フィー
ルドなどに同じ値を繰り返し入力することができなくなります。
4
p.12
操作:クエリでデータを変更する
Step2
"商品コード" フィールドの値を "K-200" に変更した後、レコードを保存せずにデザインビュ
ーに切り替えると、商品コードの変更がキャンセルされ、元の "B-500" に戻ってしまいます。
必ず保存するように注意しましょう。
p.13
注意:演算フィールド
演算フィールドを作成して Enter キーを押したときに、[フィールド名]セルの先頭に "式 1:"
と表示された場合は、コロン(:)が全角で入力されている可能性があります。正しい式に修
正するように指示しましょう。
1.2
データの矛盾を防ぐには
1.2.1
参照整合性とは(p.14)
参照整合性を設定するための条件は、次のとおりです。
・共通フィールドの一方が主キーであること
・共通フィールドが同じデータ型であること
・共通フィールドが同じフィールドサイズであること
・ 2 つのテーブルが同じデータベースにあること
p.16
操作:参照整合性を設定する
Step2
必ず、結合線上でダブルクリックするように注意しましょう。結合線以外でダブルクリック
すると、[リレーションシップ]ダイアログボックスの内容が正しく表示されません。
p.16
操作:参照整合性を設定する
Step3
一側テーブルに登録されていないデータが既に多側テーブルに入力されていると、参照整合
性を設定することはできません。この場合、[リレーションシップ]ダイアログボックスで
[OK]をクリックすると、次のようなメッセージが表示されます。
p.18
操作:多側テーブルでの外部キーの入力の制限を確認する
Step2
時間に余裕があれば、[商品マスター]テーブルをデータシートビューで開いて、"商品コー
ド" フィールドに "S-500" という値が存在しないことを確認しましょう。
p.18
操作:多側テーブルでの外部キーの入力の制限を確認する
Step3
多側テーブルでの外部キーの入力の制限は、レコードの保存時に機能することを補足しまし
ょう。
p.19
操作:一側テーブルでの主キーの更新の制限を確認する
Step1
時間に余裕があれば、[受注明細]テーブルをデータシートビューで開いて、"商品コード" フ
ィールドに "B-500" という値が保存されていることを確認しましょう。
p.19
操作:一側テーブルでの主キーの更新の制限を確認する
Step2
一側テーブルでの主キーの更新の制限は、レコードの保存時に機能することを補足しましょ
う。
5
p.19
操作:一側テーブルでの主キーの更新の制限を確認する
Step3
P.18「操作:多側テーブルでの外部キーの入力の制限を確認する」の Step4 で表示された
エラーメッセージとは、メッセージ内容が異なることを確認しましょう。ここでは、多側テ
ーブルである[受注明細]テーブルに、変更しようとしている商品コードの値が存在するた
め、変更や削除ができないことを示しています。
p.20
ヒント:サブデータシート
リレーションシップの作成時に自動的にサブデータシートが作成されるのは、テーブルプロ
パティの "サブデータシート名" プロパティが[自動](既定値)に設定されているためです。
任意で作成する場合は、テーブルプロパティで連結しているテーブルまたはクエリを指定す
るか、または、テーブルのデータシートビューで[挿入]メニューの[サブデータシート]
をクリックして表示される[サブデータシートの挿入]ダイアログボックスで、サブデータ
シートとして挿入するテーブルまたはクエリを指定します。
時間に余裕があれば、[商品マスター]テーブルを開いて、サブデータシートを確認しましょ
う。
1.2.2
p.21
連鎖更新と連鎖削除
■連鎖更新
一側テーブルの "商品コード" フィールドの値 "B-500" を "V-500" に変更すると、連鎖更新
を設定した多側テーブルの "商品コード" フィールドに "B-500" と保存されていた 2 つのレ
コードが "V-500" に更新されます。共通のフィールドの値を同時に更新することで、データ
の整合性を保てることを強調しましょう。
p.21
■連鎖削除
一側テーブルの "商品コード" フィールドの値が "B-500" のレコードを削除すると、連鎖更
新を設定した多側テーブルの "商品コード" フィールドに "B-500" と保存されていた 2 つの
レコードが同時に削除されます。共通のフィールドの値を同時に削除することで、データの
整合性を保てることを強調しましょう。
p.23
操作:連鎖更新を確認する
Step3
ここでは、[受注明細]テーブルを最小化しています。これは、[商品マスター]テーブルで
値を変更した後、すぐに結果を確認するためです。[受注明細]テーブルを閉じた状態で操作
しても、結果に影響はありません。
p.25
操作:連鎖削除を確認する
Step1
時間に余裕があれば、"商品コード" フィールドの "V-500" をクリックして
[選択フィル
タ]ボタンをクリックし、抽出されるレコードを確認してみましょう。
p.25
操作:連鎖削除を確認する
Step2
[受注明細]テーブルを最小化した状態でも、連鎖削除を実行することができます。ただし、
[受注明細]テーブルを元のサイズに戻したときに、連鎖削除されたレコードの各フィールド
には、"# Deleted" と表示されます。この場合は、
[受注明細]テーブルを閉じて、再度デー
タシートビューで開くと、削除したレコードが表示されなくなります。
p.25
操作:連鎖削除を確認する
Step5
一側テーブルの[商品マスター]テーブルから削除されるレコードは 1 件です。これに対し
て、多側テーブルの[受注明細]テーブルは、"商品コード" フィールドに "V-500" が入力さ
れているすべてのレコードが削除されます。
6
p.26
注意
連鎖削除は、リレーションシップを作成した 2 つのテーブルで、不要なレコードを削除する
場合などに使用します。たとえば、[受注]テーブルから受注日の古いレコードを削除する場
合、削除したい "受注 ID" フィールドの値が入力されている[受注明細]テーブルのレコード
も同時に削除します。
第2章
2.1
p.28
クエリ
結合プロパティとは
■内部結合
テキストの図を用いて、内部結合を具体的に説明しましょう。また、内部結合は、Access
の既定の設定であることを補足しましょう。
p.29
■外部結合
テキストの図を用いて、外部結合を具体的に説明しましょう。また、どのようなときに外部
結合を使用するのか、使用例を使って説明しましょう。
p.29
■結合プロパティ
[結合プロパティ]ダイアログボックスで設定できる外部結合には、"左外部結合" と "右外部
結合" の 2 種類があります。このダイアログボックスでは、一側テーブルが[左のテーブル名]
ボックス、多側テーブルが[右のテーブル名]ボックスに表示されます。
[結合プロパティ]ダイアログボックスの項目と設定される結合プロパティの種類の組み合わ
せは、次のようになります。
・[1:両方のテーブルの結合フィールドが同じ行だけを含める。
]
内部結合のことで、結合フィールドの値が等しいレコードのみが表示されます。
[商品]テーブルと[受注明細]テーブルを使ってテキスト p.28 の「■内部結合」の図に
あるフィールドを表示すると、受注を受けた商品のレコードだけが表示されます。内部結
合は、結合プロパティの既定値です。
・[2:商品マスターの全レコードと受注明細の同じ結合フィールドのレコードだけを含める。
]
左外部結合のことで、左テーブル(一側テーブル)の全レコードと、右テーブル(多側テ
ーブル)のレコードのうち、左テーブルの値と一致するレコードだけを表示します。
[商品]テーブルと[受注明細]テーブルを使ってテキスト p.29 の「■外部結合」の図に
あるフィールドを表示すると、左テーブル(一側テーブル)の[商品]テーブルのレコー
ドは、受注を受けていない商品も含めてすべて表示されます。
7
・[3:受注明細の全レコードと商品マスターの同じ結合フィールドのレコードだけを含める。
]
右外部結合のことで、右テーブル(多側テーブル)の全レコードと、左側のテーブル(一
側テーブル)のうち、右テーブルの値と一致するレコードだけを表示します。
[商品]テーブルと[受注明細]テーブルを使ってテキストの「■外部結合」の図にある
フィールドを表示すると、右テーブル(多側テーブル)の[受注明細]テーブルのレコー
ドがすべて表示されます。[受注明細]テーブルのすべてのフィールドにデータが入力さ
れていれば、内部結合と同じ結果になります。もし、
[受注明細]テーブルに "商品 ID" フ
ィールドの値の入力を忘れたレコードがある場合は、そのレコードも表示されます。
p.30
操作:外部結合を使って結び付かないレコードを確認する
Step6
[テーブルの表示]ダイアログボックスからテーブルを追加するときに、本テキストでは、1
つのテーブルを選択した後にそれぞれ[追加]ボタンをクリックしています。これによって、
先に選択した[商品マスター]テーブルのフィールドリストが左側に表示されます。
あらかじめ[商品マスター]テーブルと[受注明細]テーブルをまとめて選択してから[追
加]ボタンをクリックすることもできますが、[テーブルの表示]ダイアログボックスでは、
[受注明細]テーブルが[商品マスター]テーブルより上にあるため、[受注明細]テーブル
のフィールドリストが左側に表示されます。この場合、操作に影響はありませんが、本テキ
ストに掲載されている画面とは異なることを補足しましょう。
p.31
ヒント:結合線の表示
この結合線は、左外部結合を表します。右外部結合の場合は、矢印の向きは逆(左向き)で
表示されます。
p.33
ヒント:「Is Null」について
Access でデータが空白であることを表す値は、「Null」と「長さ 0 の文字列」の 2 種類があ
ります。ここでは、データが存在しないという意味の「Null」を使用しています。長さ 0 の
文字列とは、文字列が 1 文字もないという意味で、値が存在しないように表示することがで
きます。長さ 0 の文字列を使用するには、ダブルクォーテーションを 2 つ続けて("")入力
します。
2.2
パラメータクエリを利用するには
p.37
操作:一定範囲を指定するパラメータクエリを作成する
Step2
[パラメータの入力]ダイアログボックスに表示する文字列は、必ず半角の角かっこ([ ])で
囲むように注意しましょう。角かっこを全角で入力して Enter キーを押すと、角かっこの外
側がダブルクォーテーション(")で囲まれ、パラメータクエリを正しく実行することができ
ません。
p.38
操作:一定範囲を指定するパラメータクエリを作成する
Step7
F12 キーを押しても、[名前を付けて保存]ダイアログボックスを表示することができます。
2.3
クエリで集計するには
2.3.1
集計クエリ(p.40)
集計クエリは、デザインビューで一から作成する方法と、選択クエリウィザードで作成する
方法があります。本テキストでは、デザインビューから作成する方法を紹介しています。
p.40
■フィールドの用途
フィールドの用途に合わせて、集計行にどのようなオプションを選べばよいか、明確に理解
できるように説明しましょう。
p.41
操作:集計クエリを使って集計する
Step2
クエリは、別のクエリを基に作成することもできます。ここでは、[Q 受注登録]クエリを実
行したときに作成されるダイナセットを基に、データ集計するクエリを作成します。
8
p.42
操作:集計クエリを使って集計する
Step7
集計するフィールドは、クエリを実行すると "数量の合計" のようにフィールド名("数量")
と集計("合計")の方法が表示されます。
2.3.2
クロス集計クエリ(p.43)
テキストの図を使って、"行見出し"、"列見出し"、および "集計値" について説明しましょう。
行見出しは 3 つまで指定することができます。また、枠線で囲まれていない部分の "合計 金
額" フィールドは、各商品の行集計を表示しています。このフィールドも行見出しです。列見
出しは 1 つしか指定できないことを補足しましょう。
p.44
■クロス集計クエリウィザード
クロス集計クエリウィザードでは、1 つのテーブルまたは 1 つのクエリからフィールドを選
択します。複数のテーブルからフィールドを使用する場合は、あらかじめ使用するフィール
ドを設定したクエリを作成しておく必要があることを補足しましょう。本テキストでは、必
要なフィールドが設定されている[Q 受注登録]クエリを基に、クロス集計クエリウィザー
ドで作成します。
p.45
操作:クロス集計クエリを作成する
Step4
[選択可能なフィールド]ボックスのフィールド名をダブルクリックしても、[選択したフィ
ールド]ボックスに移動することができます。他のウィザードでも同様です。
p.47
ヒント:ピボットテーブルビュー
時間に余裕があれば、[Q 受注登録]クエリを開き、ピボットテーブルビューを表示して、ピ
ボットテーブルを作成してみましょう。
2.4
アクションクエリを利用するには
2.4.1
アクションクエリとは(p.48)
各アクションクエリの名称と機能を理解してもらいましょう。
p.48
■テーブル作成クエリ
テーブル作成クエリは、テーブルまたはクエリから条件を満たすレコードをダイナセットを
基にして、新規にテーブルを作成します。
p.50
ヒント:アクションクエリを実行する前に
特に、更新クエリと削除クエリは、テーブルのデータを直接書き換えてしまうため、このヒ
ントをよく説明し、その実行には注意が必要なことを強調しましょう。また、これまでの選
択クエリと異なり、クエリを実行してもダイナセットは表示されません。各クエリの実行内
容を確認するダイアログボックスが表示されるだけなので、アクションクエリを実行する前
に、選択クエリで条件や式に問題がないことを確認する必要があることも説明しましょう。
p.51
操作:選択クエリで式を確認する
Step9
[抽出条件]セルに「ビタミン *」と入力して Enter キーを押すと、先頭に "Like" が追加され、
「ビタミン *」がダブルクォーテーション("")で囲まれます。
p.52
操作:クエリを使ってデータを更新する
Step3
コピーではなく、式を切り取り、貼り付けて移動することもできます。だだし、貼り付ける
前に[フィールド名]セルの「新定価:」という文字列を削除しないと、エラーメッセージが
表示されるので注意が必要です。
p.53
操作:クエリを使ってデータを更新する
Step4
演算フィールドを削除しなくても、更新クエリを実行することができます。ここでは、更新
クエリに必要なフィールド(値を書き換えるフィールドと条件フィールド)を理解してもら
うために、演算フィールドを削除しています。
9
p.53
操作:クエリを使ってデータを更新する
Step5
[ビュー]ボタンをクリックすると、データシートビューでアクションクエリの対象と
なるレコードを確認することができます。ただし、この方法でアクションクエリを実行する
ことはできません。
p.53
操作:クエリを使ってデータを更新する
Step6
ここで表示されるメッセージは、
[商品マスター]テーブルの "商品名" フィールドの値が "ビ
タミン" で始まる商品に対して、定価の更新が行われることを意味します。更新後は、データ
を元に戻せないことを強調しましょう。
p.55
選択クエリで条件を確認する
Step4
[抽出条件]セルに日付を入力して Enter キーを押すと、日付の前後に "#" が自動的に追加さ
れます。
p.56
操作:クエリを使ってテーブルを作成する
Step3
ここで入力するのは、クエリを実行して作成するテーブル名であることを強調しましょう。
"カレントデータベース" とは、現在使用しているデータベースのことです。テーブル作成ク
エリでは、現在開いていない他のデータベースにテーブルを作成することもできます。この
場合は、[他のデータベース]を選択し、[ファイル名]ボックスにデータベースのファイル
名を指定します。
p.56
操作:クエリを使ってテーブルを作成する
Step4
テーブル作成クエリは、実行するたびに新しいテーブルが作成されます。既に同じ名前のテ
ーブルが存在する場合は、既存のテーブルを削除し、新しいテーブルが作成されます。
p.57
操作:クエリを使ってテーブルを作成する
Step10
[2002 年受注]テーブルの新規レコードの "明細 ID" フィールドには、"(オートナンバー)"
と表示されていますが、テーブル作成クエリや追加クエリを実行した場合には、基のテーブ
ルのデータがそのまま表示されます。したがって、連番が割り当てられるわけではありませ
ん。新規にデータを入力すると、連番が割り当てられることを補足しましょう。
p.59
操作:選択クエリで条件を確認する
Step7
ここでは、選択クエリで "受注 ID" フィールドの値を確認するために、"受注 ID" フィールドと
"受注日" フィールドをデザイングリッドに追加しています。削除クエリでは、すべてのフィ
ールドを追加する必要はありません。削除クエリは、削除対象のレコードを抽出する条件設
定のフィールドのみ(ここでは "受注日" フィールド)をデザイングリッドに追加して、実行
することができます。削除クエリを実行すると、指定したテーブルから条件に該当するレコ
ードをレコード単位で削除します。
p.61
操作:クエリでレコードを削除する
Step6
このメッセージは、[受注]テーブルと[受注明細]テーブルのリレーションシップで参照整
合性を設定したことにより、一側テーブルのレコードを削除できないので表示されたことを
補足しましょう。また、ここでは削除クエリを続行しないため、[いいえ]をクリックするよ
うに注意しましょう。
p.61
操作:クエリでレコードを削除する
Step7
この後、連鎖削除を設定してから再度削除クエリを実行するため、先に名前を付けて保存し
ています。
p.62
操作:連鎖削除を設定して削除クエリを実行する
Step2
[受注]テーブルから指定したレコードを削除した場合、関連するレコードを[受注明細]テ
ーブルからも削除できるように、連鎖削除を設定することを補足しましょう。
10
p.67
操作:クエリを使ってレコードを追加する
Step6
追加クエリに変更すると、デザイングリッドに[レコードの追加]行が表示されます。本テ
キストの操作のように、追加元と追加先のテーブルのフィールド名が同じ場合は、[レコード
の追加]行の各セルに、自動的に追加先テーブルのフィールド名が表示されます。フィール
ド名が一致しない場合、[レコードの追加]行のセルは空欄になるため、必要に応じて追加先
のフィールド名をドロップダウンリストから選択します。
第3章
3.1
フォーム
コントロールを作成するには
3.1.1
リストボックスとコンボボックスの作成
p.71
■リストに表示する値
コントロールウィザードを使用して、リストボックスやコンボボックスを作成した場合は、
"値集合タイプ" プロパティと "値集合ソース" プロパティが自動的に設定されます。手動でリ
ストボックスやコンボボックスを作成した場合は、それぞれのプロパティを任意で指定しま
す。
p.72
操作:コンボボックスを作成する
Step2
ここでは、[F 顧客入力]フォームの基になっている[顧客マスター]テーブルの 1 件目のレ
コードである "川島 哲也" が表示されています。
p.73
操作:コンボボックスを作成する
Step5
フォームのデザインビューを開いたときにツールボックスが表示されない場合は、[フォーム
デザイン]ツールバーの
[ツールボックス]ボタンをクリックして表示するように指示
しましょう。また、ツールボックスが固定ツールバーとして表示されている場合は、ツール
バー以外の領域などへドラッグしてフリーツールバーに変更し、任意の位置へ移動できるこ
とを補足しましょう。ツールボックスがフォーム上のコントロールに重なってコントロール
が隠れてしまう場合も、操作しやすい位置へ移動するように指示しましょう。
p.73
操作:コンボボックスを作成する
Step6
この操作では、ドロップダウンリストに[地域]テーブルの "地域 ID" フィールドと "地域名"
フィールドを表示するコンボボックスを作成します。ドロップダウンリストに表示するのは
[地域]テーブルのデータなので、[テーブルまたはクエリの値をコンボボックスに表示する]
を選択していることを補足しましょう。また、時間に余裕があれば、コンボボックスを作成
する前に、[地域]テーブルをデータシートビューで開いてテーブルの内容を確認しておきま
しょう。
p.74
操作:コンボボックスを作成する
Step9
Access 2003 から、表示する値の並べ替えをウィザードの中で設定できるようになったこ
とを補足しましょう。
p.75
操作:コンボボックスを作成する
Step10
[キー列を表示しない(推奨)]チェックボックスをオンにすると、ドロップダウンリストに
"地域名" フィールドのみが表示されます。ただし、フォームの基になるテーブルに保存され
るのは、次の Step で指定する "地域コード" フィールドの値です。ここでは、テーブルに保
存される "地域コード" フィールドも表示したほうがコンボボックスの動作を理解しやすいの
で、オフに設定していることを補足しましょう。
p.75
操作:コンボボックスを作成する
Step11
通常は、一意に行を特定できるフィールド(主キー)などを選択します。
p.75
操作:コンボボックスを作成する
Step12
フォームの基になっている[顧客マスター]テーブルの "地域コード" フィールドを選択して
いることを説明しましょう。
11
p.76
操作:コンボボックスに名前を付ける
Step1
ここでは、フォームのデザインビューとプロパティシートの両方を確認できるように、フォ
ームのウィンドウを移動しています。
p.76
操作:コンボボックスに名前を付ける
Step2
フォームを作成した後でコントロールを追加した場合は、コントロールの用途がわかりやす
い名前に変更すると、フォームの編集や管理がしやすくなります。
3.1.2
p.78
入力順を変更する
操作:入力順を確認する
Step2
ここでは、コントロールを配置した順にカーソルが移動することを確認しています。[地域コ
ード]コンボボックスは、前の操作で追加したため、最後にカーソルが移動することを確認
しましょう。
p.79
操作:入力順を変更する
Step3
[セクション]で[フォームヘッダー]を選択すると、[フォームヘッダー]セクション内の
コントロールのタブオーダーを設定することができます。
[フォームフッター]も同様です。
[タブオーダーの設定]には、"名前" プロパティで設定したコントロールの名前が表示されま
す。
3.1.3
フォーム上で検索するには(p.81)
コントロールウィザードで検索用に作成したリストボックスやコンボボックスから検索条件
を選択すると、条件を満たすレコードが複数ある場合でも、先頭の 1 件のレコードだけが表
示されます。
p.84
操作:検索用コンボボックスを作成する
Step9
ここでは、すべてのコントロールが表示されるように、ウィンドウサイズを調整しています。
3.2
メイン/サブフォームを作成するには
3.2.1
p.85
メイン/サブフォームとは
■メイン/サブフォーム
このメイン/サブフォームは、[受注]テーブルと[受注明細]テーブルにデータを入力する
ためのフォームです。[受注]テーブルと[受注明細]テーブルには存在しないフィールド、
たとえば顧客名や商品名などは、参照しているだけであることを明確に理解してもらいまし
ょう。
3.2.2
p.87
メイン/サブフォームの作成
操作:基になるテーブルのリレーションシップを確認する
Step2
メイン/サブフォームの基になるテーブル間にリレーションシップを作成していない場合、ウ
ィザードでサブフォームのフィールドを指定して[次へ]をクリックすると、2 つのテーブ
ルの関連がない旨のメッセージが表示され、[リレーションシップ]ウィンドウに切り替わり
ます。この場合は、リレーションシップを作成してから、再度フォームウィザードを起動し
ます。
p.89
操作:メイン/サブフォームを作成する
Step3
フォームに含めるフィールドは、メインフォーム、サブフォームのすべてのフィールドを選
択します。メインフォームのフィールドを選択した後、サブフォームのフィールドを選択し
ないまま[次へ]をクリックしないように注意しましょう。
12
p.89 〜 p.90
操作:メイン/サブフォームを作成する
Step4 〜 Step6
[選択したフィールド]ボックスの表示順で、サブフォーム上のフィールドは表示されます。
Step6 の画面と同じ順序でフィールドが表示されていることを確認しましょう。
次の方法でも、サブフォームに必要なフィールドを選択することができます。
①[テーブル/クエリ]ボックスで[テーブル:受注明細]を選択し、[明細 ID]と[商品コー
ド]を選択する。
②[テーブル/クエリ]ボックスで[テーブル:商品マスター]を選択し、
[商品名]と[定価]
を選択する。
③[テーブル/クエリ]ボックスで[テーブル:受注明細]を選択し、
[数量]を選択する。
[受注明細]テーブルの[数量]を、[商品マスター]テーブルの 2 つのフィールドより前に
選択すると、テキストの画面どおりにはならないので注意が必要です。
p.90
操作:メイン/サブフォームを作成する
Step7
ここでは、メインフォームの基になるテーブルを指定します。また、フィールドの選択で、
[テーブル/クエリ]ボックスから、複数のテーブルを基に作成したクエリを選択したときに
も、この画面が表示される場合があります。
p.90
操作:メイン/サブフォームを作成する
Step8
メインフォームのレイアウトは、自動的に単票形式になります。そのため、ウィザードには、
レイアウトを指定する画面が表示されないことを補足しましょう。
p.92
操作:メイン/サブフォームを操作する
Step1
作成したメイン/サブフォームでは、移動ボタンが上下に 2 つ並んで表示されます。上がサブ
フォームの移動ボタン、下がメインフォームの移動ボタンであることを補足し、メインフォ
ームの[次のレコード]ボタンをクリックすることを強調しましょう。
3.2.3
p.94
メイン/サブフォームの編集
操作:メインフォームのレコードを並べ替える
Step6
フォームビューで並べ替えを設定した後上書き保存すると、次回フォームを開いたときに並
べ替えが自動的に実行されます。フォームで設定した並べ替えは、基になっているテーブル
には影響を与えません。
p.95
操作:サブフォームの列幅を変更する
Step1
データシートで表示されたフォームは、列幅変更だけでなく、列の固定もできることを補足
しましょう。
p.96
操作:サブフォームコントロールのサイズを変更する
Step2
ここでは、サブフォームのコントロールのハンドルをポイントしやすいように、ウィンドウ
サイズを変更しています。
サブフォームコントロールを選択するときは、スクロールバー以外をクリックするように注
意しましょう。スクロールバーをクリックすると、サブフォームコントロールのフォームセ
レクタが選択されてしまい、ハンドルが表示されません。
また、ドラッグするときは、サブフォームコントロール内の水平ルーラーではなく、メイン
フォームの水平ルーラーを目安にすることを補足しましょう。
p.97
注意
メインフォーム全体の水平方向にサイズを変更した場合は、フォームを閉じて再度開くか、
フォームビューに切り替え、[ウィンドウ]メニューの[フォームのサイズで表示]をクリッ
クしても、変更後のサイズを確認できます。これに対して、コントロールや各セクションの
サイズを垂直方向に変更した場合は、フォームを閉じなくても、フォームビューですぐに確
認することができることを補足しましょう。
13
3.3
フォーム上で計算するには
3.3.1
p.98
演算コントロールを作成する
ヒント:連結コントロールと非連結コントロール
連結コントロールは、テーブルまたはクエリのデータと連結していることを強調しましょう。
p.99
操作:[詳細]セクションに演算コントロールを作成する
Step1
[F 受注入力]フォームをデザインビューで表示し、サブフォームコントロールから演算コン
トロールを追加することもできます。ここでは、画面が見やすいように、[F 受注明細サブ]
フォームのデザインビューをデータベースウィンドウから表示して操作をしています。
p.99
操作:[詳細]セクションに演算コントロールを作成する
Step2
サブフォームのレイアウトがデータシート形式の場合、デザインビューは単票形式で表示さ
れます。データシートのフィールドは、フォームのタブオーダーの設定と同じ順番で左から
順に表示されます。ここでは、サブフォームの "数量" フィールドの右側に表示する演算コン
トロールを作成するため、[詳細]セクションにコントロールを追加することを説明しましょ
う。
p.100
ヒント:"標題" プロパティ
"標題" プロパティは、フォーム上に表示される文字列であることを説明しましょう。
p.101
操作:[詳細]セクションに演算コントロールを作成する
Step8
式の入力では、フィールド名を表す角かっこ([ ])は省略できることを補足しましょう。省
略すると、Enter キーを押したときに、フィールド名には角かっこが自動的に追加されます。
3.3.2
フォームフッターで集計する(p.103)
[フォームヘッダー]セクションに演算コントロールを作成しても、すべてのレコードを集計
することができます。
p.105
操作:[フォームフッター]セクションで集計する
Step8
ここで設定する演算コントロールの "名前" プロパティは、この後の操作で、メインフォーム
からコントロールを参照するときに必要になります。必ず名前を設定するよう注意しましょ
う。
p.106
操作:[フォームフッター]セクションで集計する
Step10
[フォームデザイン]ツールバーの[ビュー]ボタンをクリックすると、そのフォームのプロ
パティで設定されている既定のビューに切り替わります。既定のビューは、フォームのプロ
パティシートを表示し、[書式]の "既定のビュー" プロパティで設定します。既定のビュー
とは異なるビューで表示する場合は、[ビュー]ボタンの右端にある下向き三角のボタンをク
リックし、ビューの種類をクリックする必要があります。
ウィザードで作成したサブフォームの既定のビューは、データシートビューです。ここでは、
フォームビューに切り替えるために下向き三角のボタンをクリックしています。
3.3.3
サブフォームのコントロールを参照する(p.107)
メインフォームで、サブフォームのコントロールを参照する場合は、メインフォームに非連
結のテキストボックスを作成し、"コントロールソース" プロパティで設定することを補足し
ましょう。
p.108
操作:メインフォームでサブフォームのコントロールを参照する
Step2
ここでは、操作しやすいようにフォームのウィンドウサイズを広げています。
p.109
操作:メインフォームでサブフォームのコントロールを参照する
Step5
ここでは、追加したコントロールが確認できるように、プロパティシートの位置を移動して
います。
14
p.110
操作:メインフォームでサブフォームのコントロールを参照する
Step8
[合計]を選択して[貼り付け]ボタンをクリックしても、式ボックスにデータを追加するこ
とができます。
p.111
操作:メインフォームでサブフォームのコントロールを参照する
Step10
ここで設定する演算コントロールの "名前" プロパティは、この後の操作で、税込金額を計算
するときに利用します。必ず設定するように注意しましょう。
p.111
操作:メインフォームでサブフォームのコントロールを参照する
Step13
サブフォームの "金額" フィールドを表示するためにスクロール操作が必要な場合は、列幅を
調整するように指示しましょう。また、追加したコントロールが表示されない場合は、メイ
ンフォームの高さを広げるように指示しましょう。
p.113
操作:税込金額を計算する演算コントロールを作成する
Step5
ここでは、直前の操作で追加した[合計金額]ボックスの値に 1.05 を掛ける式を作成しま
す。
p.114
操作:追加したテキストボックスに通貨書式を設定する
Step6
メインフォームの[次のレコード]ボタンをクリックして、サブフォームの金額を基にした
合計金額と税込金額を計算することを強調しましょう。
サブフォームで、レコードの追加や編集を行った場合は、"金額" フィールドには、すぐに計
算結果が表示されます。これに対して、[合計金額]ボックスや[税込金額]ボックスは、レ
コードを保存するまでは計算結果が表示されません。時間に余裕があれば、数量などの値を
変更して、これらのフィールドやボックスの値を確認するとよいでしょう。
第4章
4.1
レポート
フィールドを追加するには
p.119
操作:フィールドを追加する
Step3
テーブルを基に作成したレポートは、[フィールドリスト]を表示すると、テーブルに定義さ
れているフィールド名がすべて表示されます。
p.120
操作:フィールドを追加する
Step10
プリンタの設定によっては、コントロールやセクションがページの横幅に収まらない場合が
あります。この場合は、[ファイル]メニューの[ページ設定]をクリックし、[余白]で左
右の余白を調整しましょう。
p.120
ヒント:コントロールの移動
切り取りと貼り付けの操作によってコントロールを移動する場合は、貼り付けたいセクショ
ンのセクションセレクタをクリックしてから貼り付けます。セクションセレクタとは、各セ
クションの垂直ルーラーに表示されているグレーのボックスのことです。貼り付けたコント
ロールは、選択したセクションの左上に表示されるので、任意の位置に移動しましょう。
p.121
ヒント:クエリビルダ
クエリを基にレポートを作成した場合、[フィールドリスト]にはクエリのデザイングリッド
に追加され、さらに[表示]チェックボックスがオンに設定されているフィールド名が表示
されます。[表示]チェックボックスがオフに設定されているフィールドは、[フィールドリ
スト]に表示されません。また、クエリビルダで変更した内容は、上書き保存すると基のク
エリも変更されることを補足しましょう。
[R 地域別顧客リスト]レポートを使うと、テキストの画面と同じクエリビルダを確認するこ
とができます。
15
4.2
データに合わせて印刷領域を拡大/縮小するには
p.123
操作:データに合わせて印刷領域を拡大する
Step3
p.121 の「ヒント:クエリビルダ」の説明どおりに操作を行った場合、プロパティシートで
は[書式]ではなく、[データ]が選択された状態になります。
4.3
改ページを設定するには
p.125
ヒント:改ページの種類
[ページヘッダー]セクションと[ページフッター]セクションは、もともとページごとに印
刷されるセクションのため、"改ページ" プロパティはありません。
p.127
操作:レポートの改ページを設定する
Step2
セクション名が表示されているセクションセレクタをダブルクリックして、プロパティシー
トを表示することもできます。
ここでは、[改ページ]ボックスの内容がすべて確認できるように、プロパティシートのサイ
ズを変更しています。また、セクションセレクタのセクション名が確認しやすいように、プ
ロパティシートの位置を移動しています。
p.127
操作:レポートの改ページを設定する
Step6
ここで使用する[R 地域別顧客リスト]レポートは、レポートウィザードの印刷形式のレイ
アウトで[左揃え 1]を選択して作成しています。印刷形式のレイアウトで[ステップ]を
選択して作成すると、最初のページはレポートヘッダーで改ページされません。レポートヘ
ッダーのタイトルに続き、最初の地域である「北海道・東北」の顧客を表示して改ページさ
れます。印刷形式のレイアウトによって、レポートヘッダーで改ページされる場合と、改ペ
ージされない場合があります。
第5章
5.1
マクロ
マクロとは(p.130)
一般的に、"マクロ" とは、自動的にアプリケーションなどを実行するためのプログラムを指し、
Excel などでは VBA(Visual Basic for Applications)が相当します。これに対して、
Access で "マクロ" という用語を使う場合は、通常、"マクロオブジェクト"(データベースウ
ィンドウで[オブジェクト]の[マクロ]をクリックしたときに表示されるオブジェクト)を
指し、VBA とは作成方法や構造が異なります。したがって、Access のマクロは、Excel な
どでマクロと呼ばれるものとは異なります。Excel のマクロは、Access では "モジュール"
と呼ばれるオブジェクトに相当します。また、Access のマクロには、自動記録機能がない
ことも特徴です。
16
p.132
■セキュリティについて
セキュリティレベルが[中]に設定されていると、デジタル署名のないデータベースを開く
ときに、次のようなメッセージが表示されます。
マクロウィルスは、マクロ、VBA コード、ActiveX コントロールを含むフォームやレポート、
アクションクエリなどに含まれているため、これらが検出されたときに警告のメッセージが
表示されます。したがって、デジタル署名付きのデータベースでマクロが含まれていない場
合でも、警告メッセージが表示されることがあります。
Access のセキュリティ設定の詳細については、Access のヘルプを参照してください。
5.2
マクロを作成するには
p.133
マクロウィンドウでマクロを作成する
Step2
この時点では、マクロウィンドウに[マクロ名]列や[条件]列が表示されていないことを
確認しましょう。それぞれ、ツールバーの[マクロ名]ボタン、[条件]ボタンをクリックし
て表示/非表示の切り替えができるので、表示されている場合は非表示にするよう指示しまし
ょう。
p.134
マクロウィンドウでマクロを作成する
Step3
アクションの引数を設定する際、[フォーム名]ボックスでは、作成済みのオブジェクトの一
覧から選択できることを確認しましょう。
p.134
ヒント:条件式を利用するには
[条件]列で使用している MsgBox 関数についての概要を紹介します。詳細は、Access の
ヘルプを参考にしてください。
条件式の MsgBox 関数は、[OK]や[キャンセル]などのボタンを含むメッセージボックス
を表示する関数です。ボタンをクリックすることで、ボタンの種類に応じた整数値を返しま
す。MsgBox 関数で、条件を設定するには、次のように式を設定します。
MsgBox("印刷を開始します" ,1 ,"印刷の確認") = 1
①
①メッセージ:
②
③
④
メッセージボックスに表示する文字列。
②ボタンの種類:メッセージボックスに表示するボタンの種類。"1" を指定すると[OK]と
[キャンセル]の 2 つのボタンを表示する。
③タイトル:
メッセージボックスのタイトルバーに表示する文字列。
④戻り値:
ボタンをクリックしたときに返す値。"1" を指定すると[OK]をクリック
したとき、"2" を指定すると[キャンセル]をクリックしたときにアクシ
ョンが実行される。
17
ヒントの例では、[OK]ボタンをクリックしたときに 1 行目のアクションを実行し、印刷を
開始します。次に、2 行目のアクションが実行され、オブジェクトを閉じます。
[レポートを閉じる]アクションの引数の[ビュー]ボックスで[印刷]を選択した場合、印
刷プレビューを表示せずに印刷を実行します。そのため、ヒントで設定している[閉じる]
アクションは、印刷したレポートではなく、印刷前に開いていたオブジェクトを閉じます。
たとえば、このマクロを「印刷用」という名前のフォーム上に作成したボタンに割り当てる
と、「メッセージボックスを表示」→「印刷を実行」→「[印刷用]フォームを閉じる」とい
う動作になります。
5.3.2
イベントに割り当ててマクロを実行するには(p.136)
マクロの動作としての "アクション" と、そのアクションを実行するタイミングとなる "イベ
ント" という用語を明確に理解できるように説明しましょう。
p.136
あらかじめ作成したマクロをイベントに割り当てる
あらかじめ作成したマクロを割り当てるには、目的のイベントのボックスをクリックした後、
右側の下向き矢印のボタンをクリックします。作成したマクロオブジェクトの一覧が表示さ
れるので、使用するマクロ名をクリックします。
また、データベースウィンドウのオブジェクトの一覧から、割り当てたいマクロをフォーム
のデザインビューにドラッグアンドドロップしてコマンドボタンを作成することもできます。
コマンドボタンが作成されると同時に、コマンドボタンの "標題" プロパティにはマクロ名と
同じ文字列が自動的に設定され、"クリック時" プロパティにはマクロが自動的に割り当てら
れます。
ドラッグアンドドロップ
18
p.138
操作:マクロビルダからマクロを作成する
Step4
プロパティシートでは、左側のプロパティ名が表示されている部分をクリックしても、右側
のボックス内にカーソルが表示されることを補足しましょう。
p.138
操作:マクロビルダからマクロを作成する
Step6
イベントから[マクロビルダ]を選択して新規にマクロを作成する場合、最初にマクロ名を
付けて保存することを補足しましょう。
p.140
イベントに割り当てたマクロを実行する
Step3
ここまでの操作では、[顧客確認]マクロで[F 顧客入力]フォームを開くアクションを設定
しただけなので、フォームに表示するレコードの指定は行っていません。そのため、[F 顧客
入力]フォームを開いたときには "顧客 ID" フィールドの値が "1" であるレコード表示され、
次のレコードボタンをクリックすると 2 件目以降のレコードが表示されます。[F 受注入力]
フォームで表示されている "顧客 ID" フィールドの値 "11" とは、一致しないことを確認しま
しょう。
5.3.3
Where 条件式を設定する(p.141)
レポートを開く場合も、[レポートを開く]アクションの引数 "Where 条件式" を設定するこ
とで表示するレコードを制限できます。レポートに表示するレコードを制限する構文は、次
のようになります。
[テーブルまたはクエリ名]![フィールド名] = Reports![レポート名]![コントロール名]
p.142
操作: Where 条件式を設定する
Step3
既にイベントにマクロを割り当てている場合は、[ビルド]ボタンをクリックすると、マクロ
ウィンドウが表示され、作成したマクロを編集することができます。
p.143
操作: Where 条件式を設定する
Step5
ここでは、式ビルダを利用して Where 条件式を設定していますが、マクロウィンドウの
[Where 条件式]ボックスに直接入力することもできます。
p.145
操作: Where 条件式を設定したマクロを実行する
Step3
レコードを制限したことにより、[F 受注入力]フォームで表示している "顧客 ID" フィール
ドと一致したレコードを表示する[F 顧客入力]フォームが開きます(ここでは、"顧客 ID"
フィールドの値が "11" のレコード)。移動ボタンに "/1(フィルタ)" と表示され、[次のレ
コード]ボタンをクリックしても、他のレコードが表示されないことを確認しましょう。
5.4
メインパネルを作成するには
p.146
■操作パネルの作成手順
本テキストで説明している手順以外にも、操作パネルを作成する手順があります。たとえば、
先にフォームを作成し、コマンドボタンを作成してから、マクロを作成する手順もあること
を補足しましょう。
5.4.1
p.146
マクログループを作成する
ヒント:空白行
1 行目からマクロを設定して保存した場合、データベースウィンドウでマクログループを選
択して[実行]ボタンをクリックすると、マクログループのうち、先頭のマクロだけが実行
されます。1 行目に空白行を設定し、2 行目以降にマクロを設定した場合は、[実行]ボタン
をクリックしても、何も実行されません。
19
p.148
操作:マクログループを作成する
Step6
ここでは、作成するマクロを見やすくするために、2 つ目のマクロを 3 行目に設定していま
すが、2 行目以降であればどの行にでも記述することができます。必ずしも空白行を設ける
必要はないことを補足しましょう。
p.149
操作:マクログループを作成する
Step9
ここでは、[マクロ名]列の列幅を最適化しています。
p.150
操作:マクログループを作成する
Step12
ここで設定した名前が、マクログループ名となり、データベースウィンドウのマクロオブジ
ェクトの一覧に表示されることを補足しましょう。
5.4.2
p.151
フォームを作成する
操作:フォームを作成する
Step1
次の方法でも、無地のフォームを作成することができます。
① データベースウィンドウの[新規作成]ボタンをクリックして、[新しいフォーム]ダイ
アログボックスを開く。
②[デザインビュー]をクリックする。
③[基になるテーブル/クエリ]を選択せずに、
[OK]をクリックする。
5.4.3
p.152
コマンドボタンにマクロを割り当てる
操作:メインパネルにコマンドボタンを作成する
Step1
ツールボックスの[コマンドボタン]ボタンをダブルクリックすると、コマンドボタンを連
続して作成することができます。必要な数だけコマンドボタンを作成した後は、再度[コマ
ンドボタン]ボタンをクリックするか、または Esc キーを押します。
また、本テキストの操作でコマンドボタンを作成するときは、[コントロールウィザード]ボ
タンがオフであることを必ず確認しましょう。[コントロールウィザード]ボタンがオンにな
っていると、ウィザードで選択した設定内容は VBA で記述され、プロパティシートには
"[イベントプロシージャ]" と表示されます。マクロとは表示される画面や修正方法などが
異なり、この後の操作に影響するため注意しましょう。
p.153
操作:メインパネルにコマンドボタンを作成する
Step3
ここでは、マクロ名がすべて確認できるように、プロパティシートのサイズを変更していま
す。
p.154
操作:メインパネルにコマンドボタンを作成する
Step5
時間に余裕があれば、[メインパネル]フォームをさらに見やすくするために、フォーム全体
の[書式]タブのプロパティを、次のように設定してもよいでしょう。
プロパティ
設定内容
スクロールバー
なし
レコードセレクタ
いいえ
移動ボタン
いいえ
区切り線
いいえ
自動中央寄せ
はい
20
前ページの表の設定を行うと、[メインパネル]フォームのレイアウトは、次のようになりま
す。
5.4.4
起動時の設定をする(p.156)
ここでは、起動時に実行される処理の順番を理解してもらうように説明しましょう。
p.158
操作:起動時の設定を確認する
Step1
Access の初期設定では、[メインパネル]フォームが開く前に、[セキュリティ警告]ダイ
アログボックスが表示されます。
[開く]ボタンをクリックするように指示しましょう。
p.158
操作:起動時の設定を確認する
Step3
ここでは、[メインパネル]フォームを閉じているだけで、データベース "受注管理" のデー
タベースウィンドウは閉じていないことを補足しましょう。
第6章
6.1
Access の便利な機能
テーブル名とフィールド名を変更するには(p.162)
テーブル名やフィールド名を変更した場合、通常は、そのテーブルを参照しているフォーム
では、テーブル名やフィールド名の情報が自動的に更新されます。ただし、マクロの Where
条件式で設定したテーブル名やフィールド名は更新されません。そのため、この後の操作で、
[顧客マスター]テーブルの名前を "顧客リスト" に変更すると、[F 受注入力]フォームの
[顧客 ID]テキストボックスに設定した[顧客確認]マクロの Where 条件式が機能しなくな
り、"顧客 ID" フィールドの値が一致した[F 顧客入力]フォームを開くことができません。
時間に余裕があれば、[顧客確認]マクロの[Where 条件式]ボックスの式を、次の太字部
分のように変更しましょう。
[顧客リスト]![顧客 ID]=Forms![F 受注入力]![顧客 ID]
p.163
操作:テーブル名とフィールド名を変更する
Step2
フォームセレクタの位置を明確に指示しましょう。フォームセレクタをダブルクリックして
も、プロパティシートを表示することができます。
プロパティシートのタイトルバーに、"フォーム" と表示されていることを確認しましょう。
また、"レコードソース" プロパティで設定されているテーブルやクエリが、フォームの基の
データであることを強調しましょう。
p.163
操作:テーブル名とフィールド名を変更する
Step3
プロパティシートのタイトルバーに、"コンボボックス:地域コード" と表示されていることを
確認しましょう。また、"コントロールソース" プロパティで設定されているフィールド名が、
コントロールの基のデータであることを強調しましょう。
21
p.163
操作:テーブル名とフィールド名を変更する
Step4
この後の操作でテーブル名とフィールド名を変更した後、再度プロパティシートを表示する
ため、この操作は省略してもかまいません。
6.2
オブジェクトの依存関係を確認するには(p.167)
オブジェクトの依存関係は、Access 2003 の新機能であることを補足しましょう。オブジ
ェクトの依存関係は、4 レベルまで表示することができます。オブジェクトの展開ボタンを
クリックすると、各レベルのオブジェクトの依存情報を確認することができます。
p.167
注意:名前の自動修正
[名前の自動修正情報をトラックする]の設定がオフの状態で依存関係を表示する操作を行う
と、以下のメッセージが表示されます。この場合、[OK]をクリックすると、設定が自動的
にオンに変更され、オブジェクトの依存関係を表示することができます。セミナーで説明す
る必要はありませんが、設定をオフにしてしまった受講生がいた場合の対処方法として、覚
えておきましょう。
p.169
ヒント:オブジェクトのリンク
[オブジェクトの依存関係]作業ウィンドウのリンクから表示できるビューの種類は、デザイ
ンビューだけであることを補足しましょう。
p.171
操作:オブジェクトの依存関係を確認してテーブルを削除する
Step1
[オブジェクトの依存関係]作業ウィンドウの表示内容は、自動的には更新されません。変更
後の確認や、別のオブジェクトの依存情報を確認するには、再度、メニューまたはショート
カットメニューの[オブジェクトの依存関係]をクリックして、改めて表示する必要があり
ます。
Microsoft® Office Access 2003 セミナーテキスト 応用編
講習の手引き
2003 年 12 月 22 日
発行
2005 年 9 月 15 日
第 2 版発行
著作・制作
日経 BP ソフトプレス
発
日経 BP ソフトプレス
行
〒 102-0093
FAX
東京都千代田区平河町 2 − 7 − 1
(03)3221-6138
電子メール
ホームページ
[email protected]
http://www.nikkeibp.co.jp/MSP/
Copyright©2003 日経 BP ソフトプレス
22