2000/2002/2003対応 Access検索&出力&自動化辞典

概 要

Accessのキモは連携にあり!といわれます。Accessは高性能で多機能ですが、本書では特に、「検索・抽出」「印刷・出力」および、それらを結びつける「自動化」について、主だった方法を掲載しました。「自動化」するためにはマクロやVBAを使うことになりますが、初級者の方にも充分活用していただけるよう、VBAコードの使用は必要最小限に抑え、使用頻度の高い処理においては、マクロの処理とVBAの処理を併記しています。サンプルデータとして、Access付属のNorthwind.mdbを使用しています。

著者 日野間佐登子
価格 本体1900円(税別)
ISBN 4-7980-0864-8
発売日 2004/08/27
判型 A5
色数 1色
ページ数 352
CD/DVD
対象読者 初級
シリーズ Office Dictionary Series
表紙イメージ
購入 アマゾンで購入する

※リンク先によっては、販売ページが用意されていないことがあります。 あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

現在サポート情報はありません

目次

Chapter1 Accessの基礎

1-1 Accessの特徴

ExcelとAccessの印刷物作成における工程の違い

Excelの場合

Accessの場合

変更依頼があった場合

Accessレポート

Accessの特徴

特徴からわかること

COLUMN テーブル作成のコツは印刷イメージ

1-2 レポートの作成

レポートウィザード

グラフウィザード

宛名ラベルウィザード

はがきウィザード

伝票ウィザード

Column Accessレポート作成のコツはセクションの役割の理解

1-3 フォームでの検索・抽出

クエリとフィルタ

クエリでの検索・抽出

フィルタでの検索・抽出

クエリとフィルタでの抽出条件の例

1-4 マクロ

マクロとは

マクログループの作成・編集

マクロウィンドウ

アクションの設定

マクログループとマクロ名

実行とステップイン

マクロで処理を分岐する

アクションを実行する条件の例

コマンドボタンとマクロ

イベントに関するプロパティ

1-5 VBA

VBAとは

VBAとマクロ

VBAとVBE

モジュールとは

プロシージャとは

キーワード

ステートメント

If...Then...Else ステートメント

Select...Case ステートメント

構文チェックの設定

1-6 クエリ、フォーム、マクロ、VBAでの条件式

クエリ、フォーム、マクロ、VBAでの条件式

ワイルドカード

フォームの値とワイルドカード

Filterプロパティと[フィルタの実行]アクション

式ビルダ

Column 会話?

Chapter2 集計・グループ化・改ページ・制御レポート

2-1 レポートの基本

001 レポートの作成

レポートウィザードを利用して、[商品]テーブルを基に[一覧商品レポート]を作成する

クエリ:[一覧商品レポート]のレコードソースになる[Q商品]を作成

レポート:レポートウィザードを利用して[一覧商品レポート]を作成

002 セクションの追加

[商品一覧レポート]に表紙とページ数を追加する

レポート:表紙に使用する[レポートヘッダー]セクションと、ページ数に使用する[ページフッター]セクションを追加

003 並べ替え/グループ化の設定

仕入先別の取扱商品を印刷する

クエリ:「仕入先別商品一覧レポート」の基になる「Q仕入先別商品」を作成

レポート:[仕入先コード]でグループ化した「仕入先別商品一覧レポート」を作成

004 合計と平均の印刷

個人別に[国語]、[算数]、[理科]、[社会]、[英語]の合計と平均を印刷する

クエリ:[T成績]テーブルを基に5教科の合計と平均を計算する「Q成績集計」を作成

レポート:演算フィールドの結果を反映した「成績集計レポート」を作成

クラスごとに科目別の合計と平均を印刷する

レポート:[クラス]をグループ化して科目別の合計と平均を追加

005 累計の印刷

[年月]で売上金額を集計して累計を印刷する

クエリ:年月でグループ化し、売上金額を集計する「Q年月別売上」を作成

レポート:[Q年月別売上]を基に、累計を印刷する「年月別売上レポート」を作成

006 通し番号の印刷

レコードに通し番号を付けて印刷する

レポート:[Q年月別売上]を基に[年月別売上連番レポート]を作成し、[集計実行]プロパティを使用して通し番号を作成

007 2列での印刷

[仕入先別商品レポート]を2列表示にして印刷する

レポート:[ページ設定]の[列数]を変更して2列表示に変更

008 重複データの非表示

[商品区分]をグループ化しないで重複データを非表示にする

クエリ:[商品]テーブルを基に「Q区分名別商品」を作成

レポート:[区分名別商品レポート]の[商品区分]をグループ化しないで、重複データを非表示

[仕入先]をグループ化して重複データを非表示にする

レポート:[区分名別商品レポート]の[商品区分]をグループ化して、重複データを非表示

009 単票形式レポートの改ページ

[得意先レポート]を1枚ずつ改ページして印刷する

レポート:[詳細]セクションの[改ページ]プロパティを使用して印刷

[得意先レポート]を都道府県ごとに改ページして印刷する

レポート:[都道府県フッター]セクションの[改ページ]プロパティを使用して印刷

010 詳細セクション途中での改ページ

詳細セクションを2ページに分割して印刷する

レポート:詳細セクションに[改ページ]コントロールを配置して印刷

011 罫線の印刷

[直線]コントロールを使用して罫線を追加する

レポート:[区分名別商品レポート(グループ化なし非表示)]に[直線]コントロールを使用して罫線を追加

2-2 レポートの応用

012 1行おきの網掛け印刷

詳細セクションに1行おきの網掛けを印刷する(VBA)

クエリ:[仕入先]テーブルを基に、[仕入先一覧レポート]のレコードソースとなる[Q仕入先]を作成

レポート:詳細セクションの[フォーマット時]プロパティに、背景色を変更する[イベントプロシージャ]を作成

013 行数を固定した印刷

1ページに印刷する行数を制限する(マクロ)

マクロ:[カウント]が10の倍数のときだけ、[改ページ]コントロールの[可視]プロパティを[はい]にする

レポート:行数カウント用のテキストボックスを作成して行数を制限

1ページに印刷する行数を制限する(VBA)

レポート:詳細セクションの[フォーマット時]プロパティに行数を制限する[イベントプロシージャ]を作成

014 順位付けの印刷

DCount関数を使用して、合計の高い順に順位を印刷する

クエリ:[T成績]テーブルを基に、5科目の合計を算出する「Q成績集計_準備」と、順位を計算する「Q成績集計順位」を作成

レポート:[Q成績集計順位]を基に、[成績集計順位レポート]を作成

015 印刷時拡張に対応する縦罫線の印刷

[印刷時拡張]プロパティに対応して拡張する直線を印刷する(VBA)

クエリ:[得意先]テーブルを基に、[都道府県]、[住所1]、[住所2]を連結した[Q得意先住所]を作成

レポート:[印刷時拡張]プロパティに対応するように、直線コントロールの高さを変更

Chapter3 検索・抽出・並べ替えフォーム

3-1 フォームの基本

016 メニューフォームの作成

フォームを作成し、メニューフォーム用にカスタマイズする

フォーム:スクロールバー、レコードセレクタ、移動ボタンなどを非表示に設定

017 コマンドボタンの作成

[得意先フォーム]を開くコマンドボタンを作成する(マクロ)

フォーム:コントロールウィザードを使用してコマンドボタンを作成

[仕入先フォーム]を開くコマンドボタンを作成する(VBA)

フォーム:コントロールウィザードを使用しないでコマンドボタンを作成

018 メッセージボックスの作成

「得意先フォームを開きます」というメッセージボックスを作成する(マクロ)

フォーム:[得意先フォームを開く]ボタンの[クリック時]プロパティに[得意先マクロ]を作成

「仕入先フォームを開きます」というメッセージボックスを作成する(VBA)

フォーム:[仕入先フォームを開く]ボタンの[クリック時]プロパティにイベントプロシージャを作成

019 メッセージボックスの戻り値で処理を分岐

「得意先フォームを開きます、よろしいですか?」というメッセージボックスを表示し、[OK]を選択した場合だけフォームを開く(マクロ)

マクロ:[得意先マクロ]にMsgBox関数を使用した[条件]を追加

フォーム:[メニューフォーム]を開き、マクロの動作を確認

「仕入先フォームを開きます、よろしいですか?」というメッセージボックスを表示し、[OK]を選択した場合だけフォームを開く(VBA)

フォーム:[イベントプロシージャ]に、If...Then...Elseステートメントを追加

020 メイン/サブフォームの作成

フォームウィザードを利用してメイン/サブフォームを作成する

フォーム:[受注]テーブルと[受注伝票]テーブルを基にフォームウィザードを利用して、メイン/サブフォームを作成

コントロールウィザードを利用してメイン/サブフォームを作成する

フォーム:[受注]テーブルと[受注伝票]テーブルを基にコントロールウィザードを利用して、メイン/サブフォームを作成

021 フォームの位置とサイズの指定

2枚目のフォームに[サイズ変更]アクションを設定する(マクロ)

フォーム:マクロの[サイズ変更]アクションを使用して、フォームの位置とサイズを指定

2枚目のフォームの位置とサイズを指定する(VBA)

フォーム:DoCmd.MoveSizeメソッドを使用して、フォームの位置とサイズを指定

022 複数フォームの表示

2枚目のフォームを開いてから1枚目のフォームを閉じる

フォーム:[得意先フォーム]を開いた直後に、[受注メインフォーム]を閉じる

1枚目のフォームを最小化して2枚目のフォームを開く

フォーム:[仕入先フォーム]を開く直前に、[仕入先表形式フォーム]を最小化

3-2 検索

023 検索に使用するクエリとフォーム

検索に使用する[Q商品検索]と[商品検索フォーム]を作成する

クエリ:[商品検索フォーム]のレコードソースになる[Q商品検索]を作成

フォーム:[Q商品検索]を基に表形式のフォームを作成

024 コンボボックスを使用した検索(完全一致)

コンボボックスで選択した値と一致するデータを抽出する(マクロ)

フォーム:[フィルタの実行]アクションを使用して検索

コンボボックスで選択した値と一致するデータを抽出する(VBA)

フォーム:Filterプロパティを使用して検索する[イベントプロシージャ]を作成

025 コンボボックスを使用した検索(二重絞り込み)

2つのコンボボックスで選択した値と一致するデータを検索する(マクロ)

フォーム:連動する2つのコンボボックスを作成

マクロ:[フィルタの実行]アクションを使用して、コンボボックスで選択した値と一致するデータを検索

2つのコンボボックスで選択した値と一致するデータを検索する(VBA)

フォーム:Filterプロパティを使用して、コンボボックスで選択した値と一致するデータを検索

026 テキストボックスを使用した検索(あいまい検索)

キーワードによるあいまい検索でデータを抽出する(マクロ)

フォーム:テキストボックスに入力された値とワイルドカードを組み合わせて検索

キーワードによるあいまい検索でデータを抽出する(VBA)

フォーム:テキストボックスに入力された値とワイルドカードを組み合わせて検索する[イベントプロシージャ]を作成

027 テキストボックスを使用した検索(範囲)

指定した2つの[単価]の間に含まれるデータを抽出する(マクロ)

フォーム:テキストボックスに入力された値と、Between...And演算子を組み合わせて使用して検索

指定した2つの[単価]の間に含まれるデータを抽出する(VBA)

フォーム:テキストボックスに入力された値を基に、Between...And演算子を使用して検索する[イベントプロシージャ]を作成

028 並べ替え順序の変更(ラベル)

ラベルの[ダブルクリック時]プロパティに、並べ替え順序の変更を設定する(マクロ)

マクロ:[コントロールの移動]アクションと[コマンドの実行]アクションを組み合わせて、特定のフィールドに並べ替えを行うマクロを作成

フォーム:ラベルの[ダブルクリック時]プロパティにマクロを設定

ラベルの[ダブルクリック時]プロパティに、並べ替え順序の変更を設定する(VBA)

フォーム:ラベルの[ダブルクリック時]プロパティに、並べ替え順序を変更する[イベントプロシージャ]を作成

3-3 いろいろな検索方法

029 条件入力なし・検索ボックスなしの検索・抽出(選択フィルタ)

選択フィルタを使用してレコードを抽出する

クエリ:[得意先検索フォーム]の基になる[Q得意先検索]を作成

フォーム:[都道府県]が[東京都]の得意先を抽出

非選択フィルタを使用してレコードを抽出する

フォーム:[都道府県]が[東京都]以外の得意先を抽出

030 条件入力あり・検索ボックスなしの検索([検索と置換])

[検索と置換]ダイアログボックスを使用して検索する

フォーム:[都道府県]が[大阪府]のデータを検索

ワイルドカードを使用して検索する

フォーム:[フリガナ]に「サ」を含む得意先を検索

031 条件入力あり・検索ボックスなしの検索・抽出(入力フィルタ)

入力フィルタで演算子を使用して検索する

フォーム:[得意先コード]が「5以下または45以上」のレコードを抽出

フィルタの内容を確認する

フォーム:[フィルタ/並べ替えの編集]を確認

032 条件入力あり・検索ボックスなしの検索・抽出(フォームフィルタ)

フォームフィルタを使用して検索する

フォーム:[住所1]に「北」を含む、または[都道府県]が[東京都]のデータを検索

033 条件入力あり・検索ボックスありの検索・抽出([フィルタの実行]アクション) 

[フィルタの実行]アクションの[Where条件式]に、直接値を指定して検索する

マクロ:[都道府県]に「島」を含むデータを抽出するマクロを作成

フォーム:[都道府県]に「島」を含むデータを抽出するコマンドボタンを作成

[フィルタの実行]アクションの[Where条件式]に、フォームの値を指定して検索する

マクロ:[検索都道府県]に指定した文字を含むレコードを抽出するマクロを作成

フォーム:検索ボックスに「島」と入力して、[都道府県]に「島」を含むレコードを抽出

034 条件入力あり・検索ボックスありの検索・抽出(クエリに抽出条件)

選択クエリを使用して、[都道府県]に「島」を含むデータを検索する

クエリ:[Q得意先検索]に抽出条件を追加

マクロ:再クエリのためのマクロを作成

フォーム:レコードソースのクエリに抽出条件を指定して、[都道府県]に「島」を含むレコードを検索

035 条件入力あり・検索ボックスありの検索・抽出(コンボボックスウィザード)

ウィザードを使用してフォームに検索機能を追加する

フォーム:コンボボックスで選択したデータをフォームに表示

Chapter4 検索から印刷までの自動化

4-1 検索から印刷までの自動化

036 オブジェクトの準備

検索と印刷の連携に使用するオブジェクトを作成する(マクロ)

テーブル:[T印刷チェック]を作成

クエリ:[Q検索]を作成

フォーム:[検索フォーム]を作成

レポート:[検索マクログループ]を作成

検索と印刷の連携に使用するオブジェクトを作成する(VBA)

フォーム:[イベントプロシージャ]を作成

037 チェックボックスのオン・オフを切り替える自動化

[印刷チェック]のすべてをオンにするボタンと、すべてをクリアするボタンを作成する(マクロ)

クエリ:すべてのチェックボックスをオンにする[Qチェックすべて]を作成

クエリ:すべてのチェックボックスをオフにする[Qチェッククリア]を作成

マクロ:チェックボックスのオン・オフを切り替えるためのマクロを作成

フォーム:[すべてチェック]ボタンと[チェッククリア]ボタンを作成

[印刷チェック]のすべてをオンにするボタンと、すべてをクリアするボタンを作成する(VBA)

フォーム:[イベントプロシージャ]を作成

038 任意に選択したレコードを印刷する自動化

[印刷チェック]が[オン]のレコードだけを印刷する(マクロ)

クエリ:[Q検索印刷チェックYes]を作成

レポート:[商品レポート]を作成

マクロ:[商品レポート]を印刷するためのマクロを作成

フォーム:コマンドボタンに[商品]レポートを印刷するマクロを設定

[印刷チェック]が[オン]のレコードだけを印刷する(VBA)

フォーム:[イベントプロシージャ]を作成

039 レポート名を選択して印刷する自動化

抽出したレコードをレポートの種類を変えて印刷する(マクロ)

レポート:[商品レポート(区分名別)]を作成

レポート:[商品レポート(仕入先名別)]を作成

テーブル:レポート名を入力する[Tレポート名]テーブルを作成

フォーム:レポート名を選択するためのフォームを作成

マクロ:選択したレポートで印刷するためのマクロを作成

フォーム:コマンドボタンにマクロを設定

抽出したレコードをレポートの種類を変えて印刷する(VBA)

フォーム:[イベントプロシージャ]を作成

040 選択したデータを並べ替える自動化

[印刷チェック]が[オン]のデータを並べ替える(マクロ)

マクロ:並べ替えを行うためのマクロを作成

フォーム:チェックボックスの[更新後処理]プロパティにマクロを設定

[印刷チェック]が[オン]のデータを並べ替える(VBA)

フォーム:[イベントプロシージャ]を作成

041 選択したレコードの詳細を印刷する自動化

選択したレコードのフォームにはない情報を印刷する(マクロ)

クエリ:商品詳細レポートの基になる[Q商品詳細]を作成

レポート:[商品詳細レポート]を作成

マクロ:選択したレコードの[商品コード]を検索条件にしたレポートを開くマクロを作成

フォーム:[印刷]ボタンのマクロを変更

選択したレコードのフォームにはない情報を印刷する(VBA)

フォーム:[イベントプロシージャ]を作成

042 データチェックをしてから印刷する自動化

[在庫]が0かどうかをチェックしてから印刷する(マクロ)

マクロ:在庫が0のレコードをカウントするためのマクロを作成

フォーム:コマンドボタンに在庫チェックを行うマクロを設定

[在庫]が0かどうかをチェックしてから印刷する(VBA)

フォーム:[イベントプロシージャ]を作成

Chapter5 コンボボックス・集計・Excel&Word 活用

5-1 コードに対応する値の表示

043 オートフォームでのコンボボックスの自動作成

オートフォームで自動的にコンボボックスが作成されるようにする

テーブル:担当社員コードを社員名で選択

クエリでルックアップフィールドを解除する

クエリ:コンボボックスをテキストボックスに変更

044 得意先コードに対応する得意先情報を自動的に表示

オートルックアップクエリを作成する

クエリ:[Tイベント]テーブルと[社員]テーブルを基に、オートルックアップクエリを作成

フォーム:オートルックアップクエリを基に、フォームを作成

045 コンボボックスの社員コードに対応する社員名をテキストボックスに表示

社員コードに対応する社員名を、非連結コントロールに表示する

フォーム:コンボボックスの[Column]プロパティを使用して式を作成

046 コンボボックスに表示する列数の変更

コンボボックスに表示する列数を「5」に変更する

フォーム:コンボボックスの列に[フリガナ]を追加

5-2 集計クエリ・集計レポート

047 社員別売上高を求める(集計クエリ)

集計クエリを使用して社員別の売上高を集計する

クエリ:[社員コード]をグループ化して集計

レポート:[Q社員別売上高]を基にレポートを作成

048 社員別売上高を求める(クロス集計クエリ)

クロス集計クエリを使用して社員別の売上高を集計する

クエリ:[Q社員別売上高]をクロス集計クエリに変更

レポート:[Qクロス社員別売上高]を基にレポートを作成

049 フォームを値で年月を抽出し、社員別売上高を求める(クロス集計クエリ)

フォームで入力した[指定年]と[指定月]を抽出条件にしたクロス集計クエリを作成する

フォーム:[指定年]と[指定月]を入力する[クロス集計フォーム]を作成

クエリ:[Qクロス社員別売上高]の抽出条件を変更

050 フォームの値で年月を抽出し、社員別売上合計を求める(集計レポート:表形式)

クロス集計クエリでは集計することができないクロス集計を行う

クエリ:[Qクロス社員別売上高]を変更

レポート:Sum関数を使用してクロス集計レポートを作成

フォーム:[クロス集計フォーム]にコマンドボタンを追加

5-3 データベース

051 オブジェクト名の取得

システムテーブルを表示し、クエリでオブジェクト名を抽出する

テーブル:システムテーブルを表示

テーブル:[Tオブジェクト種類]テーブルを作成

クエリ:オブジェクト名を抽出する[Qオブジェクト名]を作成

052 パスワードの設定

データベースにパスワードを設定する

データベース:[セキュリティ]の[パスワード]を使用する

VBAにパスワードを設定する

モジュール:[プロジェクトのロック]を使用してパスワードを設定

5-4 Excel・Wordとの連携

053 Excelへエクスポート

[Q商品情報]を、Office Linksを利用してExcelへエクスポートする

クエリ:[Q商品情報]を作成し、Excelへエクスポート

[Q商品情報]を作成し、マクロを使用してExcelへエクスポートする

マクロ:[Excelとの連携フォーム]で指定したオブジェクト名を、Excelへエクスポートするためのマクロを作成

フォーム:エクスポートするオブジェクト名を指定する[Excelとの連携フォーム]を作成

054 リンク貼り付け先シートの作成

[Q商品情報.xls]をリンク元にした[商品情報印刷.xls]を作成する

Excel:[リンク貼り付け]を使用して一覧印刷シートを作成

055 Wordへエクスポート

[Q商品情報]を、Office Linksを利用してWordへエクスポートする

クエリ:[Q商品情報]をWordへエクスポート

[商品情報レポート]を、Office Linksを利用してWordへエクスポートする

レポート:[商品情報レポート]を作成し、Wordへエクスポート

COLUMN Excelのコンボボックス、Wordのコンボボックス

付録1 Access2003 ウィザード・ビルダ

付録2 Accessの仕様

付録3 Access マクロ

付録4 Access データ型

PR

秀和システム