【準備】使用教材
- 自作教材:「課題(売上管理)作成」
- 市販テキスト:「しっかりわかるAccess97 システム構築編」
著者 長谷川裕行
発行所 株式会社 毎日コミュニケーションズ
機器および実習環境の設定
- プロジェクタの準備と動作確認
- アプリケーションサーバーへの共有フォルダの作成(ファイル配布用)
- 上記のフォルダへ配布用ファイルの格納
- 売上明細.xls::インポート用Excelファイル(自作教材で使用)
- 課題テーブル.mdb::インポート用ファイル(市販テキスト使用時にデータ作成の手間を省くため、テーブルのみを作成する)
- 会員.mdb ::テキスト付属のデモ用データベースファイル
- 受講者名簿の確認
- 能開セミナー受講者ユーザーIDの確認
- コース名と日程(教室入り口)の案内
- 教室の黒板へ「課題資料とテキストを取ってください。」と板書きしておく。
【指導展開】
心がけることは、講師が操作手順など解答をプロジェクタで示し、関係式は板書きして説明すること。
【1日目】
18:00 イントロダクション
- 出欠の確認
- 自己紹介
- 受講生のユーザーIDの配布
- 使用する機器等の説明、注意事項
- 教材の確認
- セミナーの概要、目標、日程などの説明(セミナーパンフレットを用いて)
- セミナーの内容説明(自作教材、市販テキストの目次等を用いて)
- アプリケーションサーバーの共有フォルダーより配布用ファイルのコピー
以下、自作教材(課題「売上管理」の作成)を使用する。
18:20 問題1 テーブルの作成
- Accessを起動し、空のデータベースファイル「売上管理」を作成。
- テーブル設計時の注意点を説明する。(市販テキストのP.66~67を用いて)
- 売上明細テーブルの設計については、テーブルの関係とリレーションに付いて解説し、設定するフィールドに付いて説明する。
- 各テーブルのフィールドの書式設定について説明
- Excelデータをテーブルへインポートするときの注意点を説明。(Excel側でデータを整理してからインポートすることを心がけることなど)
- インポートしたテーブルへオートナンバー型のフィールドを設ける方法の説明
19:00 問題2 リレーションシップの設定
- 参照整合性の説明(市販テキストのP.68~69を用いて)
19:15 問題3 選択クエリーの作成
- 選択クエリーを使用して新規作成
- 演算フィールド作成時、ビルド機能使用方法の確認と、式を板書きして説明
- 「Q_売上明細」で保存
19:30 休憩(10分)
19:40 問題4 ソート用クエリーの作成
- 「Q_売上明細」クエリーをコピー、貼り付けで「Q_売上明細(ソート)」クエリーを作成
- 抽出条件の設定
- ソート優先順位が高いのはQBEグリッドの左側のフィールドであることを説明(「売上日付」「商品コード」にソート(昇順)を設定しデータシートビューを開く)
- 優先順位の低いフィールドを左側に表示したい場合の方法を説明(キーフィールドを優先順位の高いフィールドの右側に作ってソート設定し非表示にする)
20:00 問題5 特定の日付期間のレコードを抽出するクエリー
- 「Q_売上明細」クエリーをコピー、貼り付けで「Q_日付抽出」クエリーを作成
- Between….And演算子の説明
20:20 問題6 And抽出条件のクエリー
- 「Q_売上明細」クエリーをコピー、貼り付けで「Q_売上明細(And)」クエリーを作成
- And条件設定の方法、Or条件設定の方法を説明
18:40 問題7 パラメータクエリー
- 「Q_売上明細」クエリーをコピー、貼り付けで「Q_売上明細(パラメータ)」クエリーを作成
- 抽出条件に、[ ]を入力してパラメータダイアログにメッセージが表示されないことを確認。
- 抽出条件に、[ メッセージ文 ]を入力してパラメータダイアログにメッセージ文が表示されることを確認。
- フィールド行の[ ]と、抽出条件行の[ ]の違いを説明
21:00 1日目終了
【2日目】
18:00 復習
18:20 問題8 集計・並び替えのあるクエリー
- 選択クエリーを新規作成する。(テーブル:「T_得意先」、「T_商品」、「T_売上明細」)
- 指定のフィールドと、演算フィールド(「売上金額」、「粗利金額」)を設定する。
- 集計行をQBEグリッドへ表示し、グループ化の説明と、合計項目と演算項目に付いて説明。
18:50 問題9 原価率を表示するフォームの作成
- 「Q_売上明細」を元にして、オートフォーム機能を用いて作成
- 「原価率」をテキストボックスへ計算・表示する方法を説明。(プロパティーのコントロールソースへ式を設定する) 式は板書きする。
- 主なプロパティー項目の確認と説明
19:10 問題10 編集等を考慮したフォームの作成
- 「F_売上明細(単票)」フォームをコピー、貼り付けで「F_売上明細編集」フォームを作成
- テキストボックスの編集ができないようにする方法を説明
- コントロールのプロパティを変更する。(<データ>タブの「使用可能」:いいえ、「編集ロック」:はい)
- 複数のコントロールのプロパティを同時に変更する方法を説明(Shift + クリックでコントロールを選択し、プロパティを変更する。)
- ウィザードを使用して得意先コードをコンボボックスにする方法を説明
- 「コントロールの種類変更」で商品コードをコンボボックスに変更する方法を説明し、コンボボックスに関係するプロパティの各項目を板書きにより説明。
- 「値集合ソース」:ビルド機能で作成
- 「列数」:2
- 「列幅」:1.5,3
- 「連結列」:1
- 「リスト幅」:4.5
- その他、指定のようなフォームにする 。(プロパティー<書式>タブの「背景スタイル」:透明、「立体表示」:しない、「境界線スタイル」:実線、「境界線色」:白(16777215)、「境界線幅」:細線)
- タブオーダー変更の方法を説明
19:50 休憩(10分)
20:00 問題11 グループ化された様式のレポート作成
- 「Q_売上明細」を元に、指定様式のレポートをレポートウィザードで作成できないことを説明
- 新たに、レポート用としてプリントに示したクエリーを作成し「Q_売上明細(レポート用)」で保存する。
- 「Q_売上明細(レポート用)」を元に、下記の点に注意しながらレポートウィザードおよびデザインビューで作成する
- クエリーに、「得意先コード」「商品コード」フィールドがあることを確認する。
- ウィザードで作成
- すべてのフィールドを選択し
- 得意先コードでグループ化(自動的に昇順でソートされる)
- 並び替えを商品コード(昇順)で指定後
- レポートデザインビューで作成
- 詳細部の商品コードのコントロールを削除する。
- 詳細部より商品名のコントロールを削除し、ヘッダー部へ作成
- レイアウトを整えて、書式を設定する。
- ヘッダー部プロパティー「セッションを繰り返す」:はい(2ページ以降、ヘッダー部が印字される)
- プリンターへ出力する。
21:00 2日目終了
【3日目】
18:00 復習
18:20 問題12 マクロボタンの付いたフォームの作成
- フォームのマクロボタンと、「注意コメント」コントロールの役割を説明する。
- フォームを作成する前に、マクロ名だけのマクログループ「MG_売上明細」を作成する。(理由:フォーム作成時に各マクロボタンの<イベント>へ設定できる。)その際、後からアクションを設定していくために3~4行の空きをとって次のマクロ名を入力するようにする。
- フォームを作成する。(各マクロボタンの<イベント>「クリック時」へ「MG_売上明細」の各マクロ名を設定)
- 作成するマクロの内容、処理の流れを説明しながら、各マクロ名のアクションおよび条件式を整理する。(板書きする。)
- マクロをデザインビューで作成
- フォームよりテストをする。
19:10 問題13 フォームを利用した検索処理
- 無地フォームで作成
- 作成したフォームを利用して抽出するしくみを説明
- 「Q_売上明細」のデザインビューで「売上日付」「得意先コード」の抽出条件行に条件式を板書きして説明する。
- ビルド機能を用いてそれぞれの条件式を設定する。
- 作成した検索用フォームに、条件を入力し実行結果を確認する。
19:40 休憩(10分)
19:50 問題14 コンボボックスにより特定のデータを取得できる方法
- 検索用フォームは、元になるテーブル・クエリーがないので「得意先名」を表示できるコントロールを設定できないことを説明
- それぞれのコントロールの「名前」を設定(得意先コンボボックスプロパティ「名前」:得意先コード、得意先名表示用テキストボックス「名前」:得意先名)
- 「得意先コード」プロパティ<イベント>「更新後処理」へビルド機能を用いて「イベントプロシージャ」を設定する。(コンパイルを実行すること)
- 自動作成されたプログラムリストを板書きして説明する。
20:10 問題15 検索結果をフォームで確認するマクロの作成
- マクロ名だけの「MG_検索」マクログループを先に作成する。
- 参考するフォームのようにマクロボタンを作成する。
- 条件を入力し、実行結果を確認する。
20:30 問題16 メインメニューの作成
- メインメニューを作成する前に、それぞれのマクロボタンに設定するマクロ処理の流れを板書きし説明する。印刷は、実行とキャンセルが選択できるようにすると便利であることを理解してもらう。
- マクロ名だけの「MG_メインメニュー」「MG_明細印刷確認」マクログループを作成する。
- 「F_メインメニュー」「F_印刷確認」フォームを作成する。
- マクログループのアクションを設定し、マクロボタンの実行を確かめる。
- 明細印刷を実行すると、印刷プレビュー画面と、その上に「F_印刷確認」フォームが表示されるが、印刷プレビュー画面を操作しようとすると、「F_印刷確認」フォームが隠れてしまうことを説明し、それを解決する方法を説明する。
- 「F_印刷確認」フォーム全体のプロパティー<その他>「ポップアップ」:はい にする。
- 「MG_検索」のM[閉じる]マクロのアクションに「F_メインメニュー」を開くアクションを付け加える。
- 「F_メインメニュー」を開いて、各処理の実行を確かめる。
21:00 3日目終了
以下、市販テキスト「しっかりわかるAccess97システム構築編」を使用する。
【4日目】
18:00 作成する課題(Part1)の概要説明
- テキストの単元を追いかけながら、作成する「顧客管理」データベースシステムの概要を説明する。
18:10 デモおよび説明
- 市販テキストに付属しているデモ用データ「会員.mdb」を起動し、テキストのP.10~P.11を参考にデモを行う。
- その際、メインフォームよりの処理の流れと、各フォームに作成されているマクロボタンの処理の概要を説明する。
18:40 テーブルを設計する(P.24~P.28)
- 新規データベースファイル「顧客管理.mdb」を作成
- マスターテーブルとして、「T_会員」「T_商品」トランザクションテーブルとして「T_買上明細」が必要だということを理解してもらう。
- 用意しておいたデータベースファイル「課題テーブル」.mdbより3つのテーブルをインポートする。
- インポート後、それぞれのテーブルのデザインビューを開いて、テーブルデザインの詳細を説明する。
18:50 テーブルの関係を把握する(P.29~P.34)
- テーブル間のリレーションを設定し、テーブルの関係を整理する。
- 参照整合性に付いて確認する。
19:10 処理の流れを設計する(P.35~P.39)
- 商品が売れるとデータがどのように記録されていくのか、3つのテーブルの関係を考えながら、入力するデータは何が必要かを整理する。
- さらに、テーブルの関係とデータの流れを元にして、処理全体の流れを整理し、どのような入力用画面(フォーム)が必要か整理する。
- 「処理の流れをしっかり設計することが、アプリケーション作成では重要である」ことを説明する。
19:40 休憩(10分)
19:50 フォームに対応したクエリーの作成(P.40~P.43)
- フォームの作成はできるだけクエリーを通して作成することを理解してもらう。
- 役割からどのようなフォームが必要か整理が済んだら、その元となるクエリーの作成を行う。(作成するクエリー名:「Q_会員情報」「Q_日別買上合計」「Q_買上履歴」)
19:30 名前だけのマクロを作る(P.44~P.46)
- 処理の流れに応じたマクロボタンをそれぞれのフォーム上に作成しなくてはならない。フォームとクエリーが明確になり、フォームの作成に入る前に、それぞれのマクロボタンに対応したマクロ名だけのマクログループ「M_会員情報」を作成する。
21:00 4日目終了
【5日目】
18:00 復習
18:15 メインパネルの作成(P.46~P.47)
- 会員コードを入力するフォームで、クエリーは必要無いことを説明する。
- デモ画面を起動してフォームを確認し、できるだけデモのフォームに近い内容で作成する。(フォームをデザインするためのテクニックを確認するため。)
- バックの四角形:ツールボックスより□を描き、プロパティー「背景スタイル」:普通、「背景色」:任意、「立体表示」:くぼみ に設定
- ラベル内の強制改行:Shift + Enterキー
- テキストボックスの名前(txt_会員コード)は後の処理で使用するので解りやすい名前にすることを心がける。
18:30 会員情報の表示をするフォーム「F_会員情報」の作成(P.47~P.48)
- デモ画面を起動してフォームを確認し、できるだけデモのフォームに近い内容で作成する。
- 元になるクエリーは、「Q_会員情報」で、オートフォーム機能で作成する。
- 性別の項目をオプショングループで作成する方法を説明する。特に、設定するオプション値について、Yes(-1)、No(0)であることを説明する。
- 非連結されたテキストボックス「W_日付」を作成し、プロパティ「可視」:いいえに設定しておく。役割は、サブフォームで日付を絞り込むとき使用するための工夫と説明し、詳細は、サブフォーム作成時に説明する。
- フォームヘッダーへ「新規」「削除」「閉じる」のマクロボタンを作成する。「削除」ボタンは、ウィザードを用いて作成し、自動的に<イベントプロシージャ>が設定されることを説明する。(P.54~P.55)
19:00 買上履歴を表示するフォーム「F_会員情報S1」の作成(P.49~P.50)
- デモ画面を起動してフォームを確認し、できるだけデモのフォームに近い内容で作成する。
- 元になるクエリーは、「Q_日別買上合計」で、オートフォーム機能で作成後、会員コードに関するラベルとテキストボックスを削除する。
- フォームフッタへ金額の合計を表示するテキストボックスと、ポイントを表示するテキストボックスを作成し、それぞれに計算式をプロパティ「コントロールソース」へ設定する。板書きして設定する式の説明をする。
- 金額の合計:=Sum([金額])
- ポイント:=Int(Sum([金額]/100)
- メインフォームへサブフォームの設定の方法と、お互いのリンクの方法を説明
- サブフォームはメインフォームのコントロールの1つであることを説明し、お互いの「会員コード」フィールド用いて、「Q_日別買上合計」クエリーからメインフォームで表示された会員コードのデータを絞り込むことができることを説明する。
- フォームヘッダに「新規追加」、詳細部に「明細」のマクロボタンを作成する。その際、マクロボタンをフォームヘッダに作成する場合と詳細部へ作成する場合の違いを説明する。
19:40 休憩(10分)
19:50 買上の明細表示フォーム「F_会員情報S2」の作成(P.50~P.53)
- 元になるクエリーは、「Q_買上履歴」である。
- デモ画面を起動してフォームを確認し、できるだけデモのフォームに近い内容で作成する。「商品コード」については、コンボボックスで作成する。
- このフォームの役割を説明する。特に、「F_会員情報S1」の売上日付に対応する明細表示と、買上情報を新規に追加する役割があることを説明する。
- 詳細部にある「会員コード」テキストボックスの「既定値」プロパティに =[Forms]![F_会員情報]![会員コード]
の式が設定されていることの意義と役割を板書きし説明をする。
20:40 会員コードを保持するフォームの作成(P.53)
- 無地フォームより「F_会員コード保持」なるフォームを作成する。
- テキストボックスの名前を「txt会員コード」、「既定値」プロパティに =[Forms]![F_会員情報]![会員コード] を設定する。
- 役割に付いては、買上データの更新、追加に関係があることだけを説明し、詳細は、マクロ作成のとき説明する。
21:00 5日目終了
【6日目】
18:00 復習
- 前回の概要を復習する。特に、処理に沿って、各フォームの関係を整理する。
18:20 「処理開始」マクロの作成(P.55~P.57)
- アクションの流れを整理する。(必要ならば、デモを起動する。)
- 条件式に付いては板書きし、式の内容と意義について説明する。
- アクションの「レコード検索」において、「検索データ」を
=[Forms]![F_メインパネル]![txt会員コード] に設定する意義と、役割に付いて説明する。
- 「レコード検索」アクションの機能と、クエリーを用いての抽出機能の違いを整理する。
- その際、クエリー使用に付いては、「Q_会員情報」へ抽出条件 Forms![F_メインパネル]![txt会員コード]
を入力してその機能を確かめる。
- 「F_メインパネル」の「処理開始」ボタンの実行を確かめる。
18:50 「明細表示」マクロの作成(P.57~P.59)
- サブフォーム「F_会員情報S1」の「明細」ボタンをクリックすると、その行の売上日付の明細一覧「F_会員情報S2」を確認できるマクロであることを説明し、アクションを整理する。(必要ならば、デモを起動する。)
- そのしくみに付いて説明する。特に、「値の代入」アクション、「フォームを開く」アクションの「Where条件式」に付いて整理する。板書きする。
- アイコン化された「F_会員コード保持」フォームを開いて、「F_会員情報」フォームに表示されている会員コードが自動的に格納されていることを確かめる。役割に付いては「明細表示閉じる」マクロで説明する。
- サブフォーム「F_会員情報S1」の「明細」ボタンの実行を確かめる。
19:30 休憩(10分)
19:40 「明細新規追加」マクロの作成(P.60~P.61)
- サブフォーム「F_会員情報S1」の「新規追加」ボタンをクリックすると、「F_会員情報S2」のフォームより新規購入のデータを追加入力できるマクロであることを説明する。(必要ならば、デモを起動する。)
- そのしくみに付いて説明し、「フォームを開く」アクションの「Where条件式」に付いて板書きし整理する。
- 1つのフォーム「F_会員情報S2」で明細表示用と新規レコード追加用にと、複数の機能を実現するには、「フォームを開く」アクションの「Where条件式」を工夫すると可能であることを説明する。
20:00 「明細表示閉じる」マクロの作成(P.61~P.63)
- 単にフォーム「F_会員情報S2」を閉じるだけの処理ではない。明細一覧のデータが一部変更になったり、新規データの追加であったりすると、その結果を直ちに反映させ確認できる様にする必要がある。それを実現するマクロであることを説明する。(必要ならば、デモを起動する。)
- そのしくみに付いて説明する。特に、「フォームを閉じて開く」ことによりクエリーが再実行され、新しいデータが直ちに反映されることを確認する。
- フォームを再び開くとき「Where条件式」に利用されるのがアイコン化された「F_会員コード保持」フォームテキストボックスに格納された会員コードであることを説明し、「F_会員コード保持」フォームの役割を理解してもらう。
- 「閉じる」ボタンの実行を確認する。
20:30 「新規」マクロの作成(P.63)
- 新規会員情報を入力できるよう、新規レコードへ移動するだけのマクロであることを説明する。
- 「新規」ボタンの実行を確認する。
20:40 「修了処理」マクロの作成(P.63)
- 「F_会員情報」を閉じ、「F_メインパネル」を開く処理を行うマクロであることを説明する。
- 「修了処理」ボタンの実行を確認する。
20:50 「商品コードチェック」マクロの作成(P.64)
- 「F_会員情報S2」で「商品コード」を選択するとき、存在しない商品コードが選ばれたり、入力されたときにエラーメッセージ表示を行うマクロであることを説明する。
- マクロ条件式を板書きし、式の解説と役割に付いて説明する。
- 「商品名」テキストボックスの<イベント>「フォーカス取得時」にマクロを設定する。
- 作成したマクロの実行を確認する。
21:00 6日目終了(セミナー終了) |