2002/2003/2007対応 AccessVBA辞典 プログラミング実践編

概 要

豊富な事例と詳細なコード解説と応用技を多数掲載したAccessVBAプログラミングの実践的な辞典です。AccessVBAの基本は理解できたけれど、もっとステップアップしたいという人を対象に、実践的な題材をもとにプログラミングを紹介。プログラミングの流れや処理を把握できるよう、コードも詳しく解説しています。 Access VBAの基本事項の確認から、データの制御、入力制御、検索・置換・並べ替えの制御、コントロールの制御、印刷制御、データベースの連携まで解説。複雑な処理も、本書に掲載されているコードや解説を活用すれば実現できます。サンプルコードのダウンロードサービス付き。

著者 E-Trainer.jp[高柳靖子]
価格 本体2100円(税別)
ISBN 978-4-7980-2261-1
発売日 2009/4/28
判型 A5
色数 2色
ページ数 400
CD/DVD
対象読者 中級
シリーズ Office Dictionary Series
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

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

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

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

第1章 Access VBAの基本事項

1-01 プログラミングの基礎を確認する

事例1 フィールドの値を設定したい

事例2 フィールドの値を取得したい

1-02 マクロをVisual Basicに変換する

事例1 マクロオブジェクトをVisualBasicに変換したい

事例2 イベントに割り当てたマクロをイベントプロシージャに変換したい

1-03 マウスポインタを待ち状態の形に設定する

事例1 処理実行中はマウスポインタを待ち状態にしたい

1-04 メッセージボックスを使用する

事例1 メッセージボックスを表示したい

1-05 モジュールを利用する

事例1 モジュールをインポートしたい

事例2 モジュールをエクスポートしたい

1-06 関数の基礎を確認する(1)

1-07 関数の基礎を確認する(2)

事例1 VBAコード内で関数を使用したい

1-08 Functionプロシージャを作成する

事例1 ユーザー定義関数を作成したい

事例2 VBAのコード内でユーザー定義関数を実行したい

1-09 条件分岐処理をする

事例1 メッセージボックスの「はい」と「いいえ」でメッセージを変えたい

事例2 入力した値によってメッセージを変えたい

1-10 ループ処理をする

事例1 カウンタが10になるまで処理を実行したい

事例2 最初に条件を判断して処理を実行したい(1)

事例3 最後に条件を判断して処理を実行したい(1)

事例4 最初に条件を判断して処理を実行したい(2)

事例5 最後に条件を判断して処理を実行したい(2)

1-11 参照整合性の設定を変更する

事例1 リレーションシップを設定したい

1-12 セキュリティモードを設定する

事例1 マクロを有効にしたい

第2章 データの利用制御

2-01 CSVファイルのデータを活用する(1)

事例1 CSVファイルインポート時に、1行目の項目名をインポートしないよう設定したい

2-02 CSVファイルのデータを活用する(2)

事例1 CSVファイルの5行目から10行分のみインポートしたい

2-03 CSVファイルのデータを活用する(3)

事例1 指定したフォルダ内のCSVファイルをテーブルに一括でインポートしたい

2-04 データをCSVで利用する(1)

事例1 フォームでユーザーが設定したフィルタの抽出結果のみ、CSVファイルへエクスポートしたい

2-05 データをCSVで利用する(2)

事例1 テーブルのデータを一定の件数で分割し、CSVファイルとして保存したい

2-06 Excelのデータを活用する(1)

事例1 複数のシートで構成されているExcelのデータをインポートしたい

2-07 Excelのデータを活用する(2)

事例1 セル結合が設定されているExcelのデータをインポートしたい

2-08 Excelのデータを活用する(3)

事例1 Excelのデータのセル範囲を指定してインポートしたい

2-09 データをテキストファイルで利用する

事例1 パラメータクエリを実行し、結果をテキストファイルにエクスポートしたい

2-10 データの更新処理をする(1)

事例1 非連結フォームに表示したレコードを更新したい

2-11 データの更新処理をする(2)

事例1 条件に合うレコードがあれば更新、なければ追加をしたい

2-12 データの更新処理をする(3)

事例1 テーブルで分類ごとに連番を振りたい

2-13 ユニオンクエリを活用する(1)

事例1 抽出条件を実行して、ユニオンクエリをフォームに表示したい

2-14 ユニオンクエリを活用する(2)

事例1 ユニオンクエリを使用して新しいテーブルを作成したい

2-15 ユニオンクエリを活用する(3)

事例1 グループ化をしたユニオンクエリを作成したい

2-16 メモ帳にデータを引き渡す

事例1 F2キーを押して、メモ帳にデータをコピーしたい

2-17 Excelのワークシートのデータを取得する

事例1 Excelのデータをコンボボックスに表示したい

第3章 入力制御

3-01 クエリからデータを定義する

事例1 データ定義クエリでフィールド属性を指定したい

3-02 効率よくデータを入力する(1)

事例1 文字列の最後にカーソルを配置し、文字を追加で入力できるように設定したい

3-03 効率よくデータを入力する(2)

事例1 テーブルのID値を取得し、別フォームのテキストボックスに表示させるようにしたい

3-04 効率よくデータを入力する(3)

事例1 2つのフォーム間でのレコードの表示を同期させる

3-05 アルファベットを含むオートナンバーを生成する

事例1 オートナンバーを「ABC0000」という形式にしたい

3-06 入力する値をチェックして正しい値を入力する

事例1 入力された文字列の1文字目をチェックしてデータを入力したい

3-07 複数のフォームを連動させる(1)

事例1 帳票フォームのレコードセレクタをクリックして、詳細フォームを表示したい

3-08 複数のフォームを連動させる(2)

事例1 帳票形式と単票形式のサブフォームを連動させたい

3-09 Accessからメールを送信する

事例1 Accessから携帯にメールを送信する

3-10 キーで値を増減させる

事例1 テキストボックスの値をキーで変更したい

3-11 トランザクション処理をする

事例1 更新処理を実行中に、値がマイナスになる商品があった場合には実行をキャンセルしたい

3-12 自動的にフォームを閉じる

事例1 無操作の状態が一定の時間続くと、フォームを自動的に閉じたい

3-13 データベースを終了する

事例1 開いているオブジェクトが編集中の場合には上書き保存して終了し、データベースを終了させたい

3-14 ドライブを制御する

事例1 ドライブの種類を確認したい

3-15 テキストボックスに入力文字数の制限を付ける

事例1 入力文字数をオーバーした文字を削除し、「*****」で保存したい

3-16 フォントサイズを矢印キーで調整する

事例1 上下の矢印キーでフォントのサイズを変更したい

3-17 レコードセットをロックする

事例1 レコードセットをロックして、データの変更をできないようにしたい

第4章 検索・置換・並べ替えの制御

4-01 テキストボックスに入力した値をあいまい検索する

事例1 テキストボックスに入力した値を含むデータを最後まで検索したい

4-02 複数の条件で検索する

事例1 複数のテキストボックスのうち、一方をあいまいな条件として最終行まで検索したい

4-03 サブフォームのレコードを検索する

事例1 メインフォームで条件を指定し、サブフォームを検索したい

4-04 同じ条件で検索する

事例1 前回検索した抽出条件を満たす次のレコードを検索する

4-05 複数のコンボボックスで検索条件を指定する

事例1 分類に入力されている項目の小項目の商品を検索したい

4-06 検索した結果が存在しない場合の処理を制御する

事例1 データが登録されているかどうかを確認し、未登録の場合には検索した文字列を登録用のデータとして継承させたい

4-07 レコード並べ替え用のフォームを作成する

事例1 トグルボタンを使用してデータの並べ替えをしたい

4-08 並べ替えの順序を独自に指定する

事例1 独自で決めた順序でデータを並べ替えたい

4-09 複数フィールドで並べ替える

事例1 ポップアップフォームで昇順/降順を選択して並べ替えたい

4-10 範囲を指定してレコードを抽出する(1)

事例1 下限と上限を指定してレコードを抽出したい

4-11 範囲を指定してレコードを抽出する(2)

事例1 期間を指定してレコードを抽出したい

4-12 複数の条件で抽出する

事例1 コンボボックスで複数の条件を指定してデータを抽出したい

4-13 フィルタを解除する

事例1 フォームにフィルタの解除をするコマンドボタンを作成したい

4-14 複雑な検索を設定する

事例1 先月または今月に特定の商品のみ注文している顧客を抽出したい

4-15 サブフォームのレコードを抽出する

事例1 メインフォームで指定した条件で、サブフォームにレコードを抽出したい

4-16 複数選択できるリストボックスを使用する

事例1 リストボックスで複数の条件を指定してレコードを抽出したい

第5章 コントロールの制御

5-01 コントロールの大きさを制御する

事例1 カレンダーコントロールをフォームの大きさに合わせたい

5-02 オブジェクトの表示を更新する

事例1 OLEオブジェクトを配置したフォームで、コマンドボタンをクリックして再描画させたい

5-03 カレンダーコントロールを表示する

事例1 カレンダーを表示させて日付を入力したい

5-04 フォームに有効期限を設定する

事例1 有効期限を経過したフォームを開かないようにしたい

5-05 キーボードにアクションを組み合わせる

事例1 jキー、#キーを押すと処理が実行されるようにしたい

5-06 再クエリを実行しデータを更新する

事例1 更新処理を実行するコマンドボタンを作成したい

5-07 学習機能をもったコンボボックスを作成する

事例1 コンボボックスの表示を使用頻度の高い順にしたい

5-08 特定のレコードを編集不可にする

事例1 テキストボックスの値に応じて編集不可にしたい

5-09 画面の更新結果を反映させるかどうかを設定する

事例1 複数の処理を実行中に画面の更新を表示しないようにしたい

5-10 コンボボックスの条件で集計する

事例1 条件ごとに合計フィールドで集計をしたい

5-11 ドラッグでレコードを取得する(1)

事例1 範囲選択しているレコード数を取得したい

5-12 ドラッグでレコードを取得する(2)

事例1 範囲選択されたレコード内容を取得したい

5-13 リストボックスを並べ替える

事例1 リストボックスの列見出しをクリックして並べ替えたい

5-14 複数のリストボックスで連携する(1)

事例1 リストボックスでダブルクリックした項目を別のリストボックスに追加したい

5-15 複数のリストボックスで連携する(2)

事例1 リストボックスでダブルクリックした項目を別のリストボックスに移動したい

5-16 リストボックスとテキストボックスを連携する

事例1 リストボックスで選択した項目をテキストボックスに表示したい

5-17 処理中であることを表示する

事例1 処理を実行中に「NowLoading...」と表示したい

5-18 フォームの行を矢印キーで上下に移動する

事例1 矢印キーでフォーム内を自由に移動したい

5-19 コンボボックスの表示する行数を変更する

事例1 コンボボックスで表示する項目数を切り替えたい

5-20 パスワードを表示したり非表示にしたりする

事例1 テキストボックスに入力したパスワードを確認したい

5-21 カレントレコードの背景に色を付ける

事例1 カレントレコードを強調表示して分かりやすくしたい

第6章 印刷制御

6-01 ページフッターに集計値を表示する

事例1 ページごとの小計をページフッターに表示したい

6-02 奇数ページと偶数ページでフッターの表示内容を変更する

事例1 奇数ページと偶数ページで、ページ番号の表示する位置を設定したい

6-03 印刷状況を管理する

事例1 印刷したデータに、印刷日と印刷済みのチェックを付けたい

6-04 改ページ位置を指定する

事例1 指定した位置で改ページしたい

6-05 印刷部数を指定する

事例1 指定した枚数を印刷したい

6-06 グループ化の設定をする

事例1 グループ単位でページ番号を表示したい

6-07 レポートを装飾する(1)

事例1 10件ごとに罫線を引きたい

6-08 レポートを装飾する(2)

事例1 条件に一致するレコードに、赤で取り消し線を引きたい

6-09 レポートを装飾する(3)

事例1 条件に一致するレコードのフィールドを円で囲みたい

6-10 レポートを装飾する(4)

事例1 レポート全体に罫線を引きたい

6-11 宛名ラベルを印刷する(1)

事例1 指定した位置から宛名ラベルを印字したい

6-12 宛名ラベルを印刷する(2)

事例1 指定した枚数の宛名ラベルを印字したい

6-13 フォントサイズを調整する

事例1 テキストボックスの大きさに合わせてフォントサイズを調整したい

6-14 プリンタを指定して印刷する

事例1 用途によってプリンタを変更して印刷したい

6-15 ページごとの小計を表示した表紙を作成する

事例1 各ページの小計と総合計がわかる表紙を作成したい

6-16 Word文書をAccessから印刷する

事例1 Wordを起動しないでAccessから印刷したい

第7章 データベース連携の制御

7-01 Excelファイルを開く(1)

事例1 コンボボックスで選択したExcelファイルを開きたい

7-02 Excelファイルを開く(2)

事例1 Excelのファイルを開く時、既にファイルが開いていたら処理を中止させたい

7-03 Excelのファイル名とシート名を確認する

事例1 カレントフォルダ内にある全てのファイル名と、そのシート名を取得したい

7-04 Excelへエクスポートする(1)

事例1 Excelへエクスポートする際にフィールド名を列幅で改行したい

7-05 Excelへエクスポートする(2)

事例1 フィルタを利用して抽出したデータシートの内容を、Excelにエクスポートしたい

7-06 Excelへエクスポートする(3)

事例1 パスワードが設定されているExcelのファイルへエクスポートしたい

7-07 Wordにエクスポートする(1)

事例1 OLEオブジェクト型データをWordに出力したい

7-08 Wordにエクスポートする(2)

事例1 Wordの文書にデータを挿入したい

7-09 スナップショットを出力する

事例1 レポートをスナップショットとして出力したい

7-10 データベースに接続する

事例1 パスワードで保存されたデータベースに接続したい

7-11 Accessの起動を制御する

事例1 Accessのデータベースが二重起動できないように制御したい

7-12 外部のデータベースをレコードソースにする

事例1 フォームを開く際に、他のDBのデータのレコードを参照してフォームを作成したい

7-13 オブジェクトを保存する

事例1 Access終了時に全てのオブジェクトを保存して終了したい

7-14 起動時の設定をする

事例1 VBAを使用して、起動時の設定を変更したい

7-15 データベースをモードを指定して開く

事例1 外部のデータべースとモードを指定して接続したい

コードの応用目次

あいまいな抽出条件でレコードを抽出し、CVSファイルとしてエクスポートしたい

シートごとにテーブルとしてインポートしたい

DAOでレコードを更新したい

最終行までのデータを取得したい

複数のフィールドに主キーを設定したい

文字列の最後にカーソルを配置するプロシージャを作成したい

アルファベットを含むランダムなオートナンバーを生成したい

Windowsメールを起動したい

FileSystemObjectでドライブの情報を取得したい

ADOで非連結フォームでデータを検索したい

フォームと同じ条件でレポートを表示したい

DAOでレコードを抽出したい

ADOでレコードを抽出したい

サイズをミリ単位で設定したい

テキストボックスをダブルクリックした場合のみ入力可能にした

[備考]フィールドに更新を記述する処理を実行中に、進行状況を表示したい

総合計を表示したい

ID番号で改ページ位置を指定したい

網掛けを行いたい

ファイルが開いているかどうかをファイル名で確認したい

ファイル名とシート名をテキストファイルに書き出したい

取得したレコードを全て確認したい

他のアプリケーションを閉じたい

PR

秀和システム