[逆引き]Access VBA パワーテクニック 545 [2013/2010/2007対応]

出版社:技術評論社
ISBN:978-4-7741-6468-7
本体価格:2,780円
発売日:2014年04月25日
著者:技術評論社編集部 編

詳細は技術評論社サイトへ

 

この本の概要

Accessパワーユーザー向けの,すぐに使えるVBAサンプル集です。定番のテクニックから,目からウロコの達人ワザまで,目的別に参照しやすいよう体系的に整理しました。プログラミングの基礎から,文字列処理/数値処理/テーブル/クエリ/フォーム/レコード/DAO/SQL等々,コンパクトサイズの本ながら充実したワザの数々がぎっしり詰まっています。業務で頻繁に使用している方,日々プログラム開発されている方には,手放せない内容。各項目,ダウンロードして使えるサンプル付きです。

こんな方におすすめ

  • Accessユーザー,Access VBAを使いこなしたい人,Accessでシステム開発をしているひと

目次

Chapter1 Access VBAの基礎

  • 001 Access2013のモジュールとは?
  • 002 プロシージャ,VBA,VBEとは?
  • 003 モジュールの種類を知りたい
  • 004 クラスモジュールとは?
  • 005 標準モジュールとは?
  • 006 プロシージャとは?
  • 007 モジュールを作成したい
  • 008 プロシージャを作成したい
  • 009 引数と戻り値の関係を知りたい
  • 010 FunctionプロシージャとSubプロシージャの違いを知りたい
  • 011 VBAエディタをカスタマイズしたい
  • 012 モジュールを使いたい
  • 013 Visual Basic Editorを使いたい
  • 014 オブジェクトブラウザを開きたい
  • 015 モジュール作成中にヘルプを使いたい
  • 016 PublicとPrivate(プロシージャの参照範囲)とは?
  • 017 簡単なプログラムを作りたい
  • 018 イベントプロシージャとは?
  • 019 VBAのメソッドとは?
  • 020 ステートメントとは?
  • 021 VBAの関数とは?
  • 022 演算子とは?
  • 023 演算子の優先順位が知りたい
  • 024 変数とは? その1
  • 025 変数とは? その2
  • 026 定数とは? その1
  • 027 定数とは? その2
  • 028 定数を設定したい
  • 029 組み込み定数を使いたい
  • 030 変数や定数を宣言したい
  • 031 プロシージャや変数の適用範囲を知りたい
  • 032 データ型と変数の型宣言をしたい
  • 033 予約キーワードとは?
  • 034 コメントを使いたい
  • 035 長いステートメントを改行したい
  • 036 メッセージを表示したい
  • 037 メッセージを画面に表示したい
  • 038 MsgBox関数を使いたい
  • 039 データを入力したい
  • 040 InputBox関数を使いたい
  • 041 書式を設定したい
  • 042 処理を分岐したり繰り返したい
  • 043 処理を無条件に分岐させたい
  • 044 モジュールを終了したい
  • 045 If...Then...Elseステートメントを使いたい
  • 046 条件分岐 その1
  • 047 抽出条件式を使いたい
  • 048 For...Nextステートメントを使いたい
  • 049 繰り返し その1
  • 050 Do...Loopステートメントを使いたい
  • 051 繰り返し その2
  • 052 条件分岐 その2
  • 053 Select Caseステートメントを使いたい
  • 054 多重ループを使いたい
  • 055 繰り返し その3
  • 056 同じ種類の複数データを配列でまとめて使いたい
  • 057 Subプロシージャに引数を渡したい
  • 058 計算結果を返す関数を作りたい
  • 059 Functionプロシージャを作りたい
  • 060 コントロールにFunctionモジュールを組み込みたい
  • 061 モジュールでマクロのアクションを実行したい
  • 062 マクロとモジュールを使い分けしたい
  • 063 標準モジュールのプロシージャを他のモジュールから見えなくしたい
  • 064 モジュールにパスワードを設定したい
  • 065 Accessのモジュールをテキストファイルに出力したい
  • 066 既存のマクロをモジュールに変換したい
  • 067 DoCmd オブジェクトを使いたい
  • 068 プロパティをモジュールで扱いたい
  • 069 メソッドを取り扱いたい
  • 070 同じデータ型の変数を複数定義したい
  • 071 ユーザー定義のデータ型を使いたい
  • 072 複数の条件を組み合せて処理を実行したい
  • 073 VBAメモリ変数の名前の付け方を知りたい
  • 074 Accessのオブジェクトに付けるタグとは?
  • 075 Accessのデータベースオブジェクトにタグをつけたい
  • 076 Accessのインストール先パス名を取得したい
  • 077 Visual Basicのヘルプを表示したい

Chapter2 VBE活用とエラー処理のワザ

  • 078 イミディエイトウィンドウからコードを実行したい
  • 079 イミディエイトウィンドウを使いたい
  • 080 イミディエイトウィンドウを使いこなしたい
  • 081 コレクションとは?
  • 082 エラー処理の基本的な流れが知りたい
  • 083 エラー内容に応じてエラーメッセージを表示したい
  • 084 エラーを処理したい
  • 085 エラーメッセージを表示したい
  • 086 警告音を鳴らしたい
  • 087 プログラムを1行ずつ実行したい
  • 088 プログラムを一時停止して変数の値を確認したい
  • 089 イミディエイトウインドウに途中経過を表示したい
  • 090 自動構文チェックを行わないようにしたい
  • 091 モジュールのコードの表示方法を切り替えたい
  • 092 Debug.Assertを使いたい
  • 093 エラー処理,例外エラー処理を組み込みたい
  • 094 エラーが発生した時にその行番号を取得したい
  • 095 エラーが発生したステートメントに移動したい
  • 096 エラーメッセージを置き換えたい
  • 097 エラーを起こしたステートメントをスキップしたい
  • 098 エラー処理を無効にしたい
  • 099 ライブラリを実行時に自動的に追加したい
  • 100 メモリ変数の宣言と初期化を同時に行いたい
  • 101 コンパイル中にアプリケーションエラーが発生した時は?
  • 102 コンパイルしてもコンパイル済みにならない時は?
  • 103 複数行をまとめてコメント行にしたい
  • 104 関数やプロシージャ名が定義されているモジュールを検索したい

Chapter3 文字列処理に関するワザ

  • 105 文字列の中の文字数を調べたい
  • 106 文字列から文字を抽出したい1
  • 107 文字列から文字を抽出したい2
  • 108 文字列中に特定の文字列が含まれるか調べたい
  • 109 文字列を別の形式に変換したい
  • 110 文字列の前後の空白を削除したい
  • 111 文字列の先頭と末尾のスペースを削除したい
  • 112 文字列の中(前後含む)の空白を削除したい
  • 113 フィールドの最後まで特定の文字を入力したい
  • 114 文字列から指定したバイト数分の文字列を取得したい
  • 115 文字列のバイト数を取得したい
  • 116 文字列に含まれる文字をカウントしたい
  • 117 文字列からNullを除去したい
  • 118 指定した文字コードのバイト数で文字列の長さを取得したい
  • 119 番号が連続している場合,x~yと表示したい
  • 120 数字を漢数字に置き換えたい
  • 121 数値データを漢数字データに置き換えたい
  • 122 文字列の前後に特定の文字を埋め込みたい

Chapter4 数値処理・計算の活用ワザ

  • 123 ゼロで割るとエラーになる
  • 124 除算の余りを求めたい
  • 125 除算の整数部の結果だけを求めたい
  • 126 乱数を発生させたい
  • 127 絶対値を取得したい
  • 128 数値の符号を取得したい
  • 129 小数部分を切り捨てたい
  • 130 Round関数による四捨五入は正しくない
  • 131 16進数で表示したい
  • 132 数値を指定した桁で切り捨てたい
  • 133 数値を指定した桁で切り上げたい
  • 134 数値を指定した桁で四捨五入したい
  • 135 小数部と整数部に四捨五入を適用したい
  • 136 四捨五入,切捨て,切り上げを1つの関数で行いたい
  • 137 数値の大小を比較したい
  • 138 消費税を計算したい
  • 139 連番を振りたい
  • 140 部門コードごとの連番を振りたい
  • 141 新しい伝票番号を振りたい
  • 142 数値を伝票番号のような「000123」と文字列にしたい
  • 143 テキストボックスに桁数を指定して「0132」と数字を表示したい
  • 144 数字の先頭に0を埋め込みたい
  • 145 レコードセットの項目の合計を取得したい
  • 146 レコードセットの項目の平均を取得したい
  • 147 特定レコードセットの項目の値を求めたい
  • 148 空き番を探してキーを自動発行したい
  • 149 最大のキーに1を足してキーを自動発行したい
  • 150 AccessでExcelの関数を使いたい

Chapter5 日付・時間の便利ワザ

  • 151 指定した書式で日付を表示したい
  • 152 日付を月単位,年単位などで加減算したい
  • 153 日付と日付の間の日数を求めたい
  • 154 経過日数を取得したい
  • 155 日付から年,月,日を取り出したい
  • 156 日付データを年,月,日と分けて入力したい
  • 157 特定の日付が何曜日か調べたい
  • 158 月初,月末の日付を求めたい
  • 159 指定した日付が週末か調べたい
  • 160 指定した日付が週末または祝祭日かを調べたい
  • 161 経過時間を日時分秒に変換したい
  • 162 経過時間を測定したい
  • 163 一定時間でポップアップを自動的に閉じたい
  • 164 誕生日のフィールドにマウスで年齢が表示されるようにしたい
  • 165 特定の年が閏年かどうか調べたい
  • 166 特定の曜日の日付を調べたい
  • 167 指定した日が何月度か調べたい
  • 168 指定した日が何年度か調べたい
  • 169 指定した月末日を調べたい
  • 170 年齢を計算したい
  • 171 誕生日から年齢を計算したい
  • 172 労働時間を計算したい
  • 173 文字列を日付型に変換したい
  • 174 日付を表す数値を日付型データに変換したい
  • 175 日付を加算したい
  • 176 日締めの翌月末払いの日付を求めたい
  • 177 日締めの翌月末営業日払いの日付を求めたい

Chapter6 テーブルとクエリの操作ワザ

  • 178 データとプログラムを分割管理(テーブルのリンク)したい
  • 179 テーブルを外部に保存したい
  • 180 テーブルやクエリからレコードセットを開いたり閉じたりしたい
  • 181 テーブルやクエリのレコードを読み込みたい
  • 182 テーブルやクエリを扱いたい
  • 183 レコードを移動したい
  • 184 レコードの先頭・末尾に移動したい
  • 185 EOF(End Of File)プロパティを使いたい
  • 186 レコードを更新したい
  • 187 レコードを修正したい
  • 188 レコードを追加したい
  • 189 テーブルやクエリのレコードを削除したい
  • 190 レコードを削除したい
  • 191 条件に該当するレコードを抽出したい
  • 192 条件に合致したレコードを検索したい
  • 193 インデックスを使ってレコードを検索したい
  • 194 レコードのNull値を扱いたい
  • 195 空のデータを"(空き)"と文字表示したい
  • 196 データ型を変換したい
  • 197 条件選択したい その1
  • 198 条件選択したい その2
  • 199 条件選択したい その3
  • 200 レコードセットの先頭や最後の値を取得したい
  • 201 レコードセットの最大値や最小値を取得したい
  • 202 レコードの登録日を自動的に設定したい
  • 203 関数から複数の戻り値を取得したい
  • 204 指定されたレコードセットの値を合計したい
  • 205 式にNullが含まれているか調べたい
  • 206 Update メソッドを実行しないと結果が更新されない
  • 207 レコード数を数えたい
  • 208 テーブルやクエリからデータを参照したい
  • 209 データの有無を判断したい
  • 210 データが空値(Null 値)のときに0または長さ0の文字列("")に置き換えたい
  • 211 Nullエラーを回避したい
  • 212 配列のインデックスに日付の意味をもたせたい
  • 213 添字の既定最小値を変更したい
  • 214 パラメータ配列を使用したい
  • 215 テーブルのオートナンバー型フィールドの初期値と増加値を設定したい
  • 216 オートナンバー型フィールドの初期値と増加値を再設定したい
  • 217 VBAでオートナンバー型フィールドの初期値を再設定したい
  • 218 すべてのレコードの値を更新したい
  • 219 選択したレコードの値を更新したい
  • 220 レコードに一定の処理をして書き込みたい
  • 221 データを集計した結果を別テーブルに保存したい
  • 222 SQLでレコードセットを取得したい
  • 223 リンクテーブルの接続先を変更したい
  • 224 レコードセットの更新処理を高速化したい
  • 225 社員を世代別に集計するクエリを作成したい
  • 226 クエリのSQL文をモジュールに貼り付けたい
  • 227 クエリのSQL文をモジュールに貼り付けたい2
  • 228 SQLを実行してテーブルのレコードを編集したい
  • 229 パラメータクエリをモジュールで利用したい
  • 230 アクションクエリ実行時などの確認メッセージを表示しないようにしたい
  • 231 テーブル間のリレーションを強制削除したい

Chapter7 フォームコントロールの操作ワザ

  • 232 レコードセットのデータをフォームのコントロールに代入したい
  • 233 コントロールフォーカスを制御したい
  • 234 別のコントロールにフォーカスを移したい
  • 235 コントロールを使用できないようにしたい
  • 236 コントロールを見えないようにしたい
  • 237 フォーカスを取得したときに別のコントロールをチェックしたい
  • 238 VBのコントロール配列をAccessで実現したい
  • 239 関連付けされたコントロールのデータを更新したい
  • 240 コントロールの大きさを自動的に変更したい
  • 241 条件によってコントロールを見えなくしたい
  • 242 タグプロパティを利用したい
  • 243 非表示にしたコントロールを利用してレコードを削除したい
  • 244 フォームに配置したコントロールをFor…Nextループで処理したい
  • 245 フォームのテキストボックスから文字列を取得したい
  • 246 非連結テキストボックスにレコードセットのデータを効率よくセットしたい
  • 247 テキストボックスの値を{↓}・{↑}キーで増減させたい
  • 248 ハイパーリンクのテキストボックスで{Enter}キーを無視させたい
  • 249 ラベルの内容を変更したい
  • 250 コンボボックスから新規レコードを登録したい
  • 251 コンボボックスから新規レコードを登録したい(ポップアップフォーム使用)
  • 252 リストに「(すべて)」を表示したい
  • 253 コンボボックスに「すべて」を表示したい(AddItemメソッド編)
  • 254 コンボボックスに「すべて」を表示したい(UNIONクエリ編)
  • 255 コンボ(リスト)ボックスに表示するデータを設定したい
  • 256 リストボックスのデータが選択されている時だけ処理を許可したい
  • 257 コンボ ボックスのリストにデータがない時は登録画面を呼び出したい
  • 258 コンボボックスがフォーカスを取得したらリストを自動表示させたい
  • 259 コンボ(リスト)ボックスの2列目のデータを別のコントロールに代入したい
  • 260 リストボックスで選択されているデータをカウントしたい
  • 261 リストボックスで選択された複数のデータをすべて取得したい
  • 262 複数選択リストボックスで選択数の上限を設定したい
  • 263 リストボックスで複数選択された状態を解除したい
  • 264 リストボックスから複数のアイテムを選択したい(基本編)
  • 265 リストボックスから複数のアイテムを選択したい(カスタマイズ編)
  • 266 候補リストからの選択入力画面を作りたい
  • 267 リストボックスの項目をすべて選択・解除したい
  • 268 Accessのオブジェクト名をコンボボックスに表示したい
  • 269 条件によってコンボボックスのリストを変えたい
  • 270 コンボボックスのリストを再描画させたい
  • 271 コンボボックスの値集合ソースにレコードセットを設定したい
  • 272 コンボボックスから値を取得したい
  • 273 コンボボックスを利用してレコードを検索したい
  • 274 コンボボックスにプリンタの一覧を表示したい

Chapter8 レコードの操作ワザ

  • 275 レコードをア行・カ行・・・・・で抽出/並べ替えたい
  • 276 レコードを表示する順番を並び替えたい
  • 277 レコードを移動するボタンを配置したい
  • 278 レコードを移動表示したい
  • 279 入力されたキーに合致するレコードに移動したい
  • 280 指定した商品名のレコードにジャンプしたい
  • 281 表形式フォーム内をカーソルキーで自由に移動したい
  • 282 フォームに配置された必須項目を自動チェックしたい
  • 283 テーブルからレコードを抽出したい
  • 284 トグルボタンを使ってレコードを抽出したい
  • 285 抽出条件のフォームフィルタをかけたい
  • 286 あいまい検索をしたい
  • 287 ふりがなの読みを使ってあいまい検索をしたい
  • 288 最後に入力したレコード(最終行)を表示したい
  • 289 組込みダイアログボックスを利用してレコードを検索したい
  • 290 検索結果のレコードに移動したい
  • 291 [次を検索]ボタンを利用して連続して検索したい
  • 292 レコードを更新したい
  • 293 レコードを削除したい
  • 294 レコードを削除したい
  • 295 新規入力時に直前に編集したレコードの内容を表示したい
  • 296 空白が入力された場合は警告を表示したい
  • 297 数値データが入力されたかチェックしたい
  • 298 日付データが入力されたかチェックしたい
  • 299 項目に何も入力されていない場合は警告を表示したい
  • 300 入力されたデータを元に他のデータを更新したい
  • 301 データを更新させないようにしたい
  • 302 ボタンを押したときだけレコードを更新したい
  • 303 入力されたキーを含むレコードが存在しない場合は新規データの入力としたい
  • 304 既定値に戻したい
  • 305 特定レコードを変更不可にしたい
  • 306 条件判定で入力内容によっては元の値に戻したい
  • 307 入力チェックをしたい
  • 308 フォームの入力をキャンセルしたい
  • 309 レコードを保存しないと作業が終了できないようにしたい
  • 310 フォームに入力された内容をチェックしたい
  • 311 再クエリ後に元のレコードに戻りたい
  • 312 直前に入力したデータを新規登録するレコードに引き継ぎたい
  • 313 現在開いているフォームのレコードセットを取得したい
  • 314 新規のレコードを追加したい
  • 315 レコードセットのデータを取得したい

Chapter9 フォームの表示・描画ワザ

  • 316 データシートビューのセルサイズを設定したい
  • 317 データシートビューの色を変更したい
  • 318 データシートビューの線を変更したい
  • 319 データシートビューでは項目を表示しない
  • 320 データシートビューのフォントを変更したい
  • 321 行ごとに異なる背景色を表示して見やすくしたい(主キーを利用しない)
  • 322 フォームに図形を描画したい
  • 323 フォームにGIFアニメーションを表示したい
  • 324 フォームにファンクションキー(PF-Keys)の機能を追加したい
  • 325 フォームの警告メッセージをフラッシュさせたい
  • 326 フォームにデジタル時計を表示さ