アクセス2007 VBAのアイデア箱
著書「アクセスVBAのアイデア箱」シリーズのWindows Vista & Access 2007版、『アクセス2007 VBAのアイデア箱』です。
「Accessは使っているがVBAについては初心者」という方を対象に、"アイデア箱"の名の通り、Access2007 VBAのさまざまなアイデアやテクニック、コーディング例を紹介しています。
本書では、Access2007の新機能をVBAで操作するテクニックも追加し、すぐに役立つVBAのアイデアを200項目以上収録、Access2002/2003ユーザーへの対応策も紹介しています。
こんなときにお勧めです!!
- マクロの使い方は理解しているけどVBAではそれをどう書いたらよいかわからない
- 変数や命令文や分岐などBASICの基本的なことは知っているけど、Accessをどう操作したらよいかわからない
- プロパティやメソッドをいつどのようにして使えばよいかわからない
- 何かをやりたいと思ったときにどんなプログラムを書いたらよいかすぐに思い出せない
本書では、そんなVBAの初心者の方を対象に、
- 実現したい機能や動作
- サンプルコード
- ポイントとなるプロパティ・メソッド・関数
- 実行画面例
を1セットとして、VBAのコーディング例を紹介していきます。
順番に読んで「VBAを使うとこんなことができるのか」ということを知るのもよいですし、必要になったときに必要な部分だけを拾い読みするのもよいでしょう。さらに複数のサンプルコードを組み合わせて拡張するのもよいでしょう。本書の内容をデータベースアプリケーション開発の「エッセンス」として効果的に利用していただければ幸いです。
書籍情報
「アクセス2007 VBAのアイデア箱」
星野 努 著
B5変/451ページ、2色
CD-ROM 1 枚付き
定価 2,940円(本体 2,800円)
ISBN978-4-88647-845-0
目次
第1章 組み込み関数を徹底的に使う
1-1. 数値の操作
- 小数を切り捨てたい
- 四捨五入したい
- 奇数/偶数を判定したい
- 数値を文字に変換したい
- 先頭にゼロを付けたい
- カンマを付けたい
- 小数をパーセント表示したい
- 絶対値を求めたい
- 16進数で表示したい
- 数値かどうか調べたい
1-2. 文字列の操作
- 文字列の長さを求めたい
- 文字列の一部を取り出したい
- 文字列の中に指定の文字があるか調べたい
- 文字列を分解したい
- 指定の文字の位置をうしろから調べたい
- 文字列の並び順を逆にしたい
- 文字列の一部を置換したい
- 配列を要素ごとに区切られた文字列に変換したい
- 要素ごとに区切られた文字列を配列に変換したい
- アルファベットの小文字と大文字を変換したい
- 大文字/小文字を区別して比較したい
- 文字列からスペースを取り除きたい
- 数値に変換したい
- 文字コードを調べたい
- スペースを連続して代入したい
- 同じ文字を連続して代入したい
- 半角カタカナを全角カタカナに変換したい
- 固定の長さで書式化したい
1-3. 日付/時刻の操作
- 今日の日付を知りたい
- 今日の曜日を知りたい
- 今日の年、月、日を別々に取り出したい
- 今日がその月の第何曜日か知りたい
- 1週間後の日付を調べたい
- 指定期日までの残り日数を調べたい
- 誕生日からの経過日数を調べたい
- 今月の1日や最終日の日付を知りたい
- 日付を年度の形式に変換したい
- 今日処理した伝票の振込日を調べたい
- 日時の表示書式を変えたい
- 一定時間経過するのを待ちたい
1-4. その他の便利な関数
- メッセージボックスを表示したい
- 簡単なデータを入力するダイアログを表示したい
- もっと簡単にIf...Then...Elseを表現したい
- もっと簡単にSelect Caseを表現したい
- データ型を変換したい
- Null値を他の値に置き換えたい
- 配列に値をまとめて代入したい
- 配列の要素数を調べたい
- 配列の中から条件に合うデータを取り出したい
- 値がエラーかどうか調べたい
- ファイルやフォルダを検索したい
- ファイルの作成日時やサイズを調べたい
第2章 VBAでダイナミックなフォームを作る
2-1. フォームの操作
- フォームを開く
- フォームが開いているかどうか調べたい
- フォームを閉じる
- 開いているフォームをまとめて閉じたい
- フォームの標題を開くときに設定したい
- アクティブなフォームを調べたい
- フォームを素早く表示したい
- OK/キャンセルどちらが押されたか調べたい
- ESCキーでフォームを閉じたい
- 同じフォームを別のWHERE条件で同時に開きたい
- 2つのフォーム間でデータをやり取りしたい
- 2つのサブフォームをリンクしたい
- TABキーでメイン/サブフォーム間を移動したい
- サブフォームのレコード内容に応じてメインフォームの表示を切り替えたい
- サブフォームをまったく別のフォームに切り替えたい
- サブフォームのリンク親/子フィールドを変更したい
- 1つのフォームを使い回したい
- ファンクションキーの機能を付けたい
- ウィザード風の画面を作りたい
- 予定時刻になったらアラームを表示したい
2-2. フォーム上のレコード操作
- 独自のレコード移動ボタンを作りたい
- レコードの並び順を変更したい
- レコードの抽出条件を変更したい
- レコードの編集を強制的にキャンセルしたい
- カレントレコードを削除したい
- レコード削除時のメッセージを出さないようにしたい
- すべてのレコードの選択とコピー操作を連続して行いたい
- 新規レコードに直前のレコードの内容をコピーしたい
- 複数選択されたレコードの内容を調べたい
- レコードが編集されたかどうかを検出したい
- 特定の人だけレコード編集できるようにしたい
- 表形式フォームで↑↓キーでもレコード移動できるようにしたい
- 受注番号などを自動生成したい
2-3. コントロールをフル活用するアイデア
- コントロールの入力値や選択値を調べたい
- 直前にフォーカスのあったコントロールを調べたい
- 「条件付き書式設定」を条件によって変更したい
- テキストボックスの入力値を厳密にチェックしたい
- テキストボックスに入力された値を自動変換したい
- テキストボックスのダブルクリックでズーム入力させたい
- テキストボックスの先頭にカーソルを移動させたい
- テキストボックスの内容をクリップボードにコピーしたい
- フォームサイズに連動してサブフォームのサイズも変えたい
- テキストボックスの入力値に応じて移動先コントロールを切り替えたい
- チェックボックスに応じてテキストボックスの使用可否を切り替えたい
- 1つのコマンドボタンの標題を切り替えて使いたい
- マウス操作でラベルの位置を変えたい
- 日付を前後させるボタンを作りたい
- ヘルプを表示させるボタンを作りたい
- 浮き出すボタンを作りたい
- コンボ/リストボックスの項目内容を自由に設定したい
- コンボ/リストボックスの連結列以外の値を調べたい
- リストボックスで複数選択された項目を調べたい
- コンボボックスを自動的にドロップダウンさせたい
- コンボボックスとリストボックスをリンクしたい
- 2つのリストボックス間で項目を交換したい
- 入力履歴の残るコンボボックスを作りたい
- カレンダをドロップダウンするコンボボックスを作りたい
- フォームに時計を表示したい
- ラベルやテキストボックスを点滅させたい
- イメージコントロールのピクチャを切り替えたい
- イメージコントロールの表示サイズを切り替えたい
- ExcelやWordのファイルをフィールドに取り込みたい
第3章 VBAでフレキシブルなレポートを作る
3-1. レポートの操作
- レポートを印刷する
- 印刷途中でのキャンセルを処理したい
- 行番号を印刷したい
- 複数レポートに連続したページ番号を振りたい
- レポートヘッダーに配付先を印刷したい
- 空データでも罫線だけ印刷したい
- グループとは無関係な小計を印刷したい
3-2. データに応じた印刷内容の制御
- 1行おきに色分けしたい
- データが1件もないときは印刷しないようにしたい
- ポイントとなるデータに○印を付けたい
- スケジュールデータをガントチャートで印刷したい
- 日付の見出しに曜日も印刷したい
- クロス集計クエリのフィールド名の変化に対応したい
- データに応じてレポートのタイトルを変えたい
- レポートに自由に線を描きたい
- グラフオブジェクトを使わずにグラフを書きたい
第4章 テーブル/クエリをVBAで操作する
4-1. DAOによるテーブル操作
- テーブルからレコードを読み込みたい
- テーブルにレコードを追加したい
- テーブルからレコードを削除したい
- テーブルのレコードを編集したい
- 条件に一致するレコードを検索したい
- レコードセットの抽出条件を途中で変更したい
- 任意のレコードに移動したい
- レコード数を調べたい
- テーブルの各フィールド名を知りたい
- 配列にデータをまとめて取り出したい
- フォームのレコードソースをDAOのプログラムから設定したい
- レコードを10件ずつ分けて取り出したい
- 単一フィールドのデータを調べる方法
4-2. ADOによるテーブル操作
- テーブルからレコードを読み込みたい
- テーブルにレコードを追加したい
- テーブルからレコードを削除したい
- テーブルのレコードを編集したい
- 条件に一致するレコードを検索したい
- レコードセットの抽出条件を途中で変更したい
- 任意のレコードに移動したい
- レコード数を調べたい
- テーブルの各フィールド名を知りたい
- 配列にデータをまとめて取り出したい
- フォームのレコードソースをADOのプログラムから設定したい
- レコードを10件ずつ分けて取り出したい
-
4-3. クエリ操作
- 選択クエリを開く
- アクションクエリ実行時の確認メッセージを出さないようにしたい
- クエリからのレコードセットの作り方
- 一時的な選択クエリを作る
- 一時的なアクションクエリを実行する
- パラメータクエリの扱い方
- クエリのSQLを変更したい
4-4. 外部ファイルとのデータのやり取り
- 別のaccdbファイルからデータを取り込みたい
- Excelファイルからデータを取り込みたい
- 区切り記号付きテキストファイルからデータを取り込みたい
- 1レコードずつ加工しながらテキストファイルを取り込みたい
- テーブルのすべてのデータをExcelファイルに出力したい
- パラメータクエリで抽出したデータだけをExcelファイルに出力したい
- 1レコードずつ加工しながらテキストファイルに出力したい
第5章 アプリケーション構築のアイデア
- 別のaccdbファイルのテーブルを起動時にリンクさせたい
- すべてのフォームの標題を揃える
- 処理の進行状況をインジケータ表示したい
- メッセージをステータスバーに表示したい
- フォームを閉じるときに終了確認メッセージを表示させたい
- データの表示内容を前回閉じたときの状態に復元したい
- フォームを前回閉じたときの位置とサイズに復元したい
- オプション設定フォームを作りたい
- スプラッシュフォームを作りたい
- ファイルを開くダイアログを使いたい
- フォルダ参照ダイアログを使いたい
- コマンドラインオプションを付けて起動する
第6章 VBAコーディングのTips
- 変数の宣言を強制する
- 変数定数の宣言
- 1行ごとの構文エラーを表示させない
- エディタの表示色やフォントを変えたい
- ウィンドウがドッキングしないようにしたい
- マウスでのブレークポイントの設定
- コードにブックマークを付ける
- 複数行まとめてインデント
- 複数行まとめてコメントアウト
- 長いステートメントの書き方
- コードウィンドウでのコードのドラッグ
- AccessとVBEを切り替える
- オブジェクトブラウザを使う
- ツールバーをカスタマイズする
- ローカルウィンドウの活用
- プロシージャの定義元へジャンプする
- コードウィンドウで便利なショートカットキー
- モジュールをまとめてテキスト出力する
第7章 Access7の新機能Tips
- フォームの分割表示の有無を切り替えたい
- フォームを閉じる時の並べ替えを次回再現させるか指定したい
- フォームを閉じる時のフィルタを次回再現させるか指定したい
- 代替の背景色を切り替えたい
- データシートの列見出しを動的に変更したい
- サブフォームの表示位置を切り替えたい
- 入力欄でテキスト形式とリッチテキスト形式を切り替えたい
- ダブルクリックでカレンダーアイコンの表示/非表示を切り替えたい
- 複数項目選択の内容を取得したい
- 特定の人だけコンボボックスの値リスト編集を許可したい
- ユーザーに応じてリスト外入力時の表示フォームを切り替えたい
- メモ型フィールドの編集履歴を取得したい
ご案内
SCC製品紹介のページは.....http://www.scc-kk.co.jp/scc-books/book_data/B-334/B-334.html
SCC Books Webは.....http://www.scc-kk.co.jp/scc-books/home.html
ご購入はぜひ下記リンクをご利用ください。
|