1. Excel データを追加する
テキスト P.145 を確認しましょう。
① 「応用編素材集 CD-ROM」の「素材集」フォルダ→「Access」フォルダから、その中「売上伝票 2001」、
「売上明細 2001」ファイルを「ドキュメント」にコピーにします。
② 「作成」タブ→「マクロ」 をクリックします。「デザイン」タブ→「すべてのアクシ ョンを表示」をクリックします。「新しいアクションの追加」から「スプレッドシートのイン ポート/エクスポート」を選択します。
③ 「アクションの引数」で「変換の種類」が「インポート」、「ワークシ ートの種類」が「Excel Workbook」になっていることを確認します。
「テーブル名」にはデータの追加先を指定しますので、「売上伝票」と入 力します。
続いて、「ファイル名」に「売上伝票 2001」と入力して、追加するファイ ル名を指定します。
「フィールド名の設定」は「はい」を選択します。
④ マクロ名を「L9-M 伝票追加」として保存し閉じます。
⑤ 同様に、「売上明細 2001」のデータを追加するマクロを作成します。
右にように引数を設定し、マクロ名を「L9-M 明細追加」として保存し、閉 じておきます。
⑥ ナビゲーションウインドウのマクロ「L9-M 売上伝票」と「L9-M 売上 明細」をダブルクリックして、マクロを実行します。
※メッセージがでてこなければ、マクロ実行完了です。
⑦ ナビゲーションウインドウのテーブル「売上伝票」を開 き、データを確認します。伝票番号が「01〇〇」番台のデー タが追加されていることを確認しましょう。
同様に、テーブル「売上明細」のデータも確認しましょう。
⑧ 確認できたら、テーブルを閉じておきます。
2. 取引先別でデータを表示する
① 「作成」タブ→「クエリデザイン」をクリックして、以下のテーブルを追加して、各テーブルリス トからフィールドを追加します。
取引マスター・・・「会社名」
売上伝票・・・「伝票番号」、「日付」
- 35 -
商品マスター・・・「商品名」、「単価」
売上明細・・・「数量」
末尾のフィールドに「金額:[単価]*[数量]」と入力し、金額を求める演算フィールドを追加します。
検索した売上データがどの月のものかわかるように、付きを表示する式を設定します。
② 「金額」フィールドの右に、[月:Month([日 付])と入力します。
続いて、年を表示する式も設定しておきます。
③ 月 を 表 示 す る フ ィ ー ル ド の 右 に
「年:Year([日付])」と入力します。
④ 「デザイン」タブ→「表示」からデータシートビューに切り替えて、データがきちんと表示されて いることを確認しましょう。
⑤ クエリ名を「L9-Q サブ用」として保存し、閉じます。
⑥ ナビゲーションウインドウのクエリ「L9-Q サブ用」を選択し、「作成」タブ→「その他のフォーム」
を選択し、「データシート」をクリックします。
データシート形式のフォームが作成されたことを確認し、「L9-F サブ」と名前を付けて保存し、閉じま す。
検索画面の基となるフォームを作成します。
⑦ 「作成」タブ→「フォームデザイン」をクリックします。
⑧ 「デザイン」タブのコンボボックス をクリックして、
右のように貼り付けます。
⑨ コンボボックスのプロパティシートを表示、「データ」タブ→「値集合ソース」から、クエリ「L8-Q 取引先」を選択します。
続いて、「その他」タブ→「名前」に「会社名」と入力します。
ラベルのプロパティに切り替え、「名前」は「ラベル 1」のまま、「書式」タブの「標題」を「会社名」
に変更します。
- 36 -
⑩ 「デザイン」タブ→「サブフォーム/サブレポート」 を クリックして、右のようにドラッグして埋め込みます。
⑪ 埋め込んだオブジェクトを選択した状態で、プロパティシー トを表示します。
「データ」タブ→「ソースオブジェクト」に「L9-F サブ」を選 択し、「リンク子フィールド」と「リンク親フィールド」にそれ ぞれ連結させるフィールドとして、「会社名」と入力しておきま す。
※メインフォームのコンボボックス「会社名」が「リンク親フィールド」で、
サブフォームの「会社名」フィールドが「リンク子フィールド」になります。
「その他」タブの「名前に「会社別サブ」と入力し、名前をつけておきます。
プロパティシートを閉じます。ラベルは必要ないので、削除します。
⑫ フォームビューに切り替えてみましょう。
コンボボックスの をクリックして、一覧から「桃 丘商事株式会社」を選択します。
サブフォームの部分に、売上データが表示されました。
⑬ 同様に他の会社名も検索してみましょう。
確認できたら、フォーム名を「L9-F 検索画面」として 保存し、閉じます。
■合計金額を表示する
会社ごとデータを表示できるようになりましたので、会社ごとの合計金額が自動的に表示されるように 設定します。
① ナビゲーションウインドウのフォーム「L9-F 検索画面」を右クリック→デザインビューで開きます。
サブフォームの「詳細」で右クリックし、一覧から「フォーム ヘッダー/フッター」をクリックしま す。
右のように「フォームフッター」にテキストボックス を貼り付けます。
テキストボックスを選択したまま、プロパティシート を表示し、「データ」タブ→「コントロールソース」
に「=Sum([金額])」を入力します。
「その他」タブ→「名前」に「合計金額タブ」と付けます。ラベルは必要ないので削除しておきます。
いったん、フォーム「L9-F 検索画面」を上書き保存します。
② 右のようにメインフォームにテキストボックスを貼り付け ます。
プロパティシートを表示して、「その他」タブの「名前」に「合 計金額メイン」と付けます。
同様に、ラベルの「標題」を「合計金額」にとしておきます。
③ 「合計金額メイン」テキストボックスのプロパティシートに切り替えます。「データ」タブ→「コ ントロール」をクリックして表示されるビルド ボタンをクリックします。
- 37 -
「式ビルダ」ダイアログが表示されます。
「式ビルダ」は式が簡単に作成できる機能です。
① 式ボックス
式を作成する場所です。
②
ⅰ フォルダの一覧や関数が表示されま す。ダブルクリックすることによって、
そのフォルダに含まれているものが表示 されます。
ⅱ ⅰで選択したオブジェクトの要素や 関数が表示されます。
ⅲ オブジェクトや関数に対する一覧が表示されます。
④ 一番左に表示されている、「L9-F 検索画面」の をダブルクリックします。
表示から (プラス)から (マイナス)に変わり、「L9-F サブ」が表示されました。
これは「L9-F 検索画面」の中に、「L9-F サブ」があることを表しています。
⑤ 表示された「L9-F サブ」をクリックします。すると、右欄の一覧に「L9-F サブ」にあるコントロ ールがすべて表示されました。
一覧から、「合計金額サブ」をダブルクリックします。
⑥ 上のボックスに「[会社別サブ].Form![合計金額サ ブ]」と式が表示されました。
これで、「合計金額メイン」のコントロールソースとし て、サブフォームの「合計金額サブ」が指定されまし た。
「OK」をクリックします。
※この式は前半のマクロの学習の際にしようした「Where 条件式」です。式ビルダを使用するより簡単 に式を設定することができます。
⑦ 「合計金額メイン」テキストボックスを選択したまま、プロパティシートの「書 式」タブ→「書式」に「通貨」を設定します。
プロパティシートを閉じておきます。
タイトルを「会社名・年検索」としてラベルを作成します。
レイアウトを右のように整えます。
①
②
ⅰ ⅱ ⅲ
- 38 - フォームビューに切り替えて、確認してみましょう。
⑧ 「会社名」の一覧から「鬼島物産(株)」を選択します。
サブフォームに売上データの明細が表示され、メインフォ ームの「合計金額」のテキストボックスが表示されました。
⑨ 確認できたら、変更を保存して閉じておきます。
3. 年別にデータを表示する
① ナビゲーションウインドウのフォーム「L9-F 検索画面」
をデザインビューで開き右のようにテキストボックスを貼り 付けます。
プロパティシートを表示、「名前」を「年」に変更し、ラベル の「標題」も「年」に変更しておきます。
書体を他のラベルと統一して、レイアウトを右のように整えて おきます。
② サブフォームの「会社別サブ」を選択し、プロパティシートを表示します。
「データ」タブ→「リンク子フィールド」「リンク親フィールド」を確認すると、すでに「会社名」と 入力されています。「会社名」は「会社名」コンボボックスと連結フィールドでした。
ここでは、「会社名」と「年」の 2 つを連結させるため「会社名」に続いて、
「;年」と入力します。
同様に「リンク親フィールド」にも、「;年」を追加しておきます。
プロパティシートを閉じます。
③ フォームビューに切り変えて、確認します。
「会社名」から「クローバー(有)」を選択します。
年指定の設定をしたので、会社名を指定しただけでは、データは表示されません。
④ 先ほど貼り付けたテキストボックスに、「2002」
と入力して年を指定します。
サブフォームに、データは表示されました。
毎回年を入力する手間を省くため、今年は 2002 年という設定で、この検索画面を表示した時に、年の テキストボックスに「2002」と表示されるように設定します。
⑤ デザインビューに切り替え、「年」のテキストボックスを選択し、プロパティシ ートを表示します。「データ」タブ→「規定値」に「2002」と入力します。
- 39 -
⑥ プロパティシートを閉じ、フォームの変更を保 存して閉じておきます。
⑦ 再度、フォーム「L9-F 検索画面」を開きます。
年のテキストボックスに「2002」と表示されていま す。
確認できたら、フォームを閉じておきます。
4. 条件別に検索画面を作成する
① メインフォームに表示させるため、サブフォームの「会社名」「年」「月」を非表示にします。
ナビゲーションウインドウのフォーム「L9-F サブ」をダブルクリックで開き、「会社名」「年」「月」の 各列を選択し、「ホーム」タブ→「レコード」グループ→「その他」→「フィールドの非表示」をクリ ックします。
基になるサブフォームを、コピーして作成します。
② ナビゲーションウインドウの「L9-F サブ」を選択し、「ホーム」タブ→「クリップボード」グルー プ→「コピー」 をクリックします。
そのまま、「貼り付け」 をクリックします。
③ 「貼り付け」ダイアログが表示されますので、「フォーム名」に
「L9-F サブ(年・月)」と入力して「OK」をクリックします。
④ 同じ要領で、「L9-F サブ」をコピーし、「L9-F サブ(会社名・月)」「L9-F サ ブ(会社名・年・月)」を作成します。
コピーできたら、基になった「L9-F サブ」のフォーム名を右クリック→「名前の 変更」で「L9-F サブ(会社名・年)」に変更します。
「L9-F(年・月)」のサブフォームの「会社名」を再表示します。
⑤ フォーム「L9-F サブ(年・月)」を開き、「ホーム」タブ→「レコード」
グループ→「その他」→「列の再表示」をクリックします。
「会社名」に を入れます。
「閉じる」をクリックし、「会社名」の列が表示されたことを確認し、フォー ムを閉じます。
⑥ 同様に、「L9-F 検索画面」をコピーして、「L9-F 検索画面(年・月)」
「L9-F 検索画面(会社名・月)」「L9-F 検索画面(会社名・年・月)」を 作成しておきます。
コピーができたら、基になった「L9-F 検索画面」のフォーム名を「L9-F 検索画面(会社名・年)」と変更しておきます。