アッと驚く達人の技
Access実践技&ウラ技大全
[97/2000/2002/2003対応]

 業務でAccessを使ったデータベースシステムを構築・運用する人のためのTIPS集です。多くのAccessユーザーは業務のプロではあっても、Access使いのプロではないケースが多いと思われます。本書では1からじっくり時間をかけてAccessを学ぶ時間のない人のために、短時間で必要なところだけをご利用いただける実践技・ウラ技を集めてみました。
 最新のAccess2003はもちろん、旧バージョン(97/2000/2002)にも対応しています。ご好評をいただいている前作を大幅にパワーアップしました。

※書籍中の例題データは「データ館」の部屋で入手できます。

cover

第1章 入力作業を楽にする技を極める

●データシートの左端フィールドを常に表示できるようにする ・・・・・・14

■左端のキーフィールドを常に表示させるには[列の固定(Z)]コマンドを使え!

■データシートで不要なフィールドを隠したいときは列を非表示にせよ!

●データを一覧から選択して入力できるようにする・・・・・・16

■データを一覧から選ぶには「コンボボックス」を使え!

■一覧から選択入力させたいデータはリストの左端に設定せよ!

■入力データが限定されているときは「値リスト」を活用せよ!

●フォームを開くと最後のレコードを表示するように設定する・・・・・・19

■最後のレコードを表示させるには「レコードの移動」アクションを使え!

●メールアドレスを入力する際にIMEを自動的にオフにする・・・・・・21

■半角英数字の値しか入力しないときはIME入力モードを「使用不可」に設定せよ!

●単票フォームで次のレコードに移動しないようにする・・・・・・22

■次のレコードに移動させないようにするには「Tabキー移動」プロパティを使え!

●入力された値によってカーソルの移動先を変える・・・・・・23

■入力値を判定してカーソル移動させるには「コントロールの移動」アクションを使え!

●コンボボックスの入力時にリストを自動的に開くようにする・・・・・・25

■コンボボックスを自動的に開くには「Dropdown」メソッドを使え!

●2つのコンボボックスを連動させる・・・・・・27

■2つのコンボボックスを連動させるときは再クエリを忘れるな!

●郵便番号から住所を自動入力できるようにする・・・・・・31

■住所を入力する手間を省くには「住所入力支援ウィザード」を使え!

●自動入力された住所の続きをすぐに入力できるようにする・・・・・・33

■入力された文字列の末尾にカーソルを位置付けるには「SelStart」プロパティを使え!

●名前を入力するとふりがなが自動的に入力されるようにする・・・・・・35

■ふりがなを入力する手間を省くには「ふりがなウィザード」を使え!

■Access97では「ふりがなコントロール」を使って利用せよ!

●現在の日付を自動入力できるようにする・・・・・・37

■現在の日付を自動入力するには既定値に「Date」関数を指定せよ!

■入力した時点での時刻を入力したいときはショートカットキーを使え!

■1件前のレコードの値を入力したいときはショートカットキーでコピーせよ!

●指定した桁数以外のデータを入力できないようにする・・・・・・39

■入力データの桁数をチェックするには入力規則に「Len」関数を設定せよ!

■入力データの範囲をチェックしたいときは「>」や「<」記号を使え!>/P>

●入力中のコントロールに色を付けて見やすくする・・・・・・41

■入力中のフィールドだけ色を付けるには「条件付き書式」を使え!

■基準に達しない値を赤色で警告したいときは「条件付き書式」を活用せよ!

●特定のテキストボックスを参照専用に設定する・・・・・・43

●データを入力する際のアドバイスを表示できるようにする・・・・・・44

●チェックボックスでコントロールの表示を切り替えるようにする・・・・・・45

■コントロールの表示・非表示を切り替えるには「可視」プロパティを使え!

第2章 データ処理を極める

●他のテーブルのレコードを追加して1つにまとめる・・・・・・50

■大量のデータを結合させるには「追加クエリ」を使え!

■必要なレコードだけ抜き出して追加するには抽出条件を設定せよ!

■クエリ作成の際はクエリを実行するまでの流れを知っておくべし!

●異なるデータベースのデータを一緒に表示する・・・・・・54

■異なるデータベース間のデータを結合するには「ユニオンクエリ」を使え!

●全角カタカナのデータを半角カタカナに一括変換する・・・・・・57

■全角文字を半角に変換するには「StrConv」関数を使え!

■データの入力と同時に半角に変換するには「StrConv」関数をマクロに組み込め!

●日付を「年」「月」「日」の3つの値に分割する・・・・・・60

■取り出した「年」「月」「日」のデータは集計項目として利用せよ!

●数値を小数第2位で四捨五入する・・・・・・62

■各科目の平均点を求めるには「DAvg」関数を使え!

■小数点以下の数値を四捨五入するには「Int」関数を使え!

●オートナンバー型の連続番号を1から振り直す・・・・・・64

■オートナンバー型の連続番号は「追加クエリ」で振り直せ!

■全レコードを削除したときは「データベースの最適化」で1から振り直せ!

●住所データから都道府県名だけを取り出す・・・・・・69

■文字データの先頭から指定した数の文字列を取り出すには「Left」関数を使え!

■文字データの途中から文字列を取り出すには「Mid」関数を使え!

●重複レコードをまとめて削除する・・・・・・72

■重複レコードをまとめて削除するにはインデックスを「重複なし」にせよ!

■大量データの中から重複データを調べるには「重複クエリ」を使え!

■重複データを非表示にするには「固有の値」プロパティを有効にせよ!

●販売終了から3年以上過ぎたレコードだけを削除する・・・・・・77

■3年以上前の古いデータを消すには「削除クエリ」に「DateAdd」関数を組み込め!

■削除クエリの実行前は削除予定のデータを事前に確認せよ!

■大量のデータを削除した後はデータベースを最適化せよ!

●日付から曜日を求める・・・・・・80

■日付から曜日を求めるには「Format」関数を使え!

●生年月日から年齢を求める・・・・・・82

■生年月日から年齢を求めるには「DateDiff」関数を使え!

■役所向けの年齢計算では誕生日の前日を基準にせよ!

●翌月の月末日を求める・・・・・・84

■翌月末日を求めるには「2ヵ月後の初日」の前日を計算せよ!

第3章 集計・分析機能を極める

●「は」行で始まる名前の取引先のみを抽出する・・・・・・88

■特定の文字列で始まるデータを取り出すには「Like」演算子とワイルドカードを使え!

■文字数を指定してデータを取り出すには「?」ワイルドカードを使え!

●売上の累計を求める・・・・・・91

■「Dsum」関数で累計計算するにはカレントレコード以下のレコードを計算せよ!

■累計額の計算結果は通貨型で表示させよ!

●日々の売上レコードを月単位で集計する・・・・・・94

■フィールドの値を月単位で集計するには日付を「年/月」の形式に変換せよ!

■先頭の数桁が同じ値のデータを集計するには「Left」関数を使え!

●売上高ベスト5の得意先を調べる・・・・・・97

■レコードの上位から指定した件数を抽出するには並べ替えて「トップ値」機能を使え!

●得点によって成績を3段階のランクに分ける・・・・・・99

■入力したデータによって異なる値を表示させるには「Switch」関数を使え!

●過去1年間で売上のない取引先を調べる ・・・・・・102

■2つのテーブルを比較するには「不一致クエリ」を使え!

●売れ筋商品を新規テーブルに書き出す・・・・・・106

■特定の条件に合うデータだけを書き出すには「テーブル作成クエリ」を使え!

●総売上に占める商品ごとの売上比率を調べる・・・・・・108

■商品ごとの売上比率を求めるにはまず総売上を計算せよ!

●クロス集計表の列見出しを並べ替える・・・・・・112

■クロス集計表を並べ替えるには「クエリ列見出し」プロパティを編集せよ!

●テーブルから直接データを絞り込んで表示する・・・・・・114

■テーブルから直接データを取り出すには「フォームフィルタ」を使え!

■作成したフィルタを再度利用したいときはクエリとして保存せよ!

第4章 レポート機能を極める

●受注金額を得意先と月で分類して印刷する・・・・・・118

■レポートを分類して印刷するにはグループレベルを使え!

■日付データの分類方法を変更するには[グループ間隔]を使え!

●全ページにレポートの見出しを印刷できるようにする・・・・・・122

■レポートの見出しを全ページに印刷するには見出しをページヘッダーに移動せよ!

■印刷を実行した日付を印刷するにはコントロールソースに「Date」関数を入力せよ!

●グループごとに改ページを設定する・・・・・・124

■グループごとに改ページするには「グループフッター」の後で改ページせよ!

■グループヘッダーを複数ページに印刷するには[セクション繰り返し]を有効にせよ!

●宛名ラベルにバーコードを印刷できるようにする・・・・・・126

■バーコードを印刷するには「バーコードコントロール」を使え!

■商品に印刷されているバーコードを活用するには「JAN-13」バーコードを使え!

●レポート全体に罫線を引く・・・・・・129

■レポート全体に罫線を引くには「ブロック(K)」レイアウトを選択せよ!

■フィールド同士を揃えるには配置を上に合わせて左右の間隔を均等にせよ!

●1行おきに行の色を変えるように設定する・・・・・・134

■行番号を挿入するには「集計実行」プロパティを使え!

■1行おきに色を変えるには「Mod」演算子で奇数行と偶数行を判定せよ!

■色番号を調べるには「色の設定」ダイアログボックスを利用せよ!

●レコードごとに残高を印刷するように設定する・・・・・・138

■残高を求めるには「集計実行」プロパティを使った累計値を減算せよ!

●同じ内容のデータを非表示にして印刷しないようにする・・・・・・140

●データの長さに応じて印刷領域を伸縮させる・・・・・・141

●フォームで表示しているレコードのみを印刷できるようにする・・・・・・142

■フォームに表示しているレコードのみを印刷するには「Where」条件式を使え!

●空データの場合に印刷しないように設定する・・・・・・146

■空データの場合に印刷を中止するには「NoData」に「Cancel = True」を設定せよ!

■特別な用紙への切り替えを注意するには印刷前にメッセージを表示せよ!

●レポートをダイレクトにFAXで送信する・・・・・・148

■レポートをFAXで送信するにはプリンタをFAXに設定せよ!

●指定した期間内のレコードのみを印刷する・・・・・・150

■特定の範囲のレコードを印刷するには「Between」演算子を使え!

■年と月を指定して印刷するには「DateSerial」関数を使え!

■年度単位で印刷するには年度の始点終点を定数で指定せよ!

●利用するプリンタを選択して印刷するように設定する・・・・・・155

■プリンタを切り替えるには「Application.Printer」に選択したプリンタを設定せよ!

■「Form_Open」プロシージャを中止するには「Cancel」引数に「True」を設定せよ!

第5章 データアクセスページを極める

●データアクセスページの基礎知識・・・・・・160

●データベースをネット上から見るためのページを作る・・・・・・162

■カスタマイズしたデータアクセスページを作成するには「ページウィザード」を使用せよ!

■データアクセスページは半角英数字の名前で保存せよ!

■保存時に記憶される絶対パスはデータの保存先に合わせて後から変更せよ!

●ネット上の他のパソコンから参照できるようにパスを変更する・・・・・・166

■ネットワークで使用するにはデータアクセスページにUNCパスを設定せよ!

●HTMLファイルをデータアクセスページに変換する・・・・・・168

■データアクセスページの柔軟なデザインを行うにはHTMLファイルから変換せよ!

●Internet Explorerからデータベースを更新する・・・・・・172

■IEからデータベースを更新するにはレコードナビゲーションツールバーを利用せよ!

■データアクセスページは「信頼済みサイト」に登録せよ!

●フリーマーケットの希望価格を価格帯ごとに階層表示する・・・・・・174

■一定の間隔ごとに分類するには「GroupOn」を「dscInterval」に設定せよ!

■レベルを上げて不足したコントロールは追加して補え!

■Access2000ではツールバーのボタンでグループ化を設定せよ!

●模擬試験のクラス別男女の集計を求める・・・・・・178

■グループごとの集計を求めるには集計関数を使用せよ!

■Access2000では連結HTMLコントロールから集計関数を表示せよ!

●住所で検索したデータを表示する・・・・・・182

■データアクセスページで検索条件を動作させるにはワイルドカードを使用せよ!

■データ検索ができるデータアクセスページはクエリを基にして作成せよ!

■検索結果を絞り込むにはレコードナビゲーションツールバーのフィルタを利用せよ!

●業種別売上データをさまざまな角度から分析する・・・・・・186

■ピボットテーブルリストで効果的にデータ分析を行え!

●テーマを使用してデータアクセスページの外観を整える・・・・・・190

■データアクセスページ全体の体裁を整えるにはテーマを適用せよ!

第6章 マクロ・VBA機能を活用する

●処理を自動化するためのマクロ機能について・・・・・・194

●条件が空かどうか判断してデータを抽出する・・・・・・196

■クエリであいまい検索・抽出を行うには「Like」演算子とワイルドカードを併用せよ!

■以降のマクロを実行せずに途中で止めたい場合は「マクロの中止」アクションを利用せよ!

●Excelのデータを取り込んでテーブルに追加する・・・・・・203

■他形式のデータは「ワークシート変換」アクションで追加せよ!

■主キーが設定されているフィールドへの追加は重複に注意せよ!

●指定した価格以下の商品を削除する・・・・・・207

■削除クエリを実行するにはマクロから「クエリを開く」アクションを使用せよ!

●AccessでプログラミングするためのVBAについて・・・・・・212

●作成済みのマクロをVBAに変換して機能を追加する・・・・・・214

■インターフェイスの改良はマクロをVBAに変換して機能を追加せよ!

●SQLを使用して勤務時間を集計する・・・・・・218

■VBAでデータベースを操作するにはSQLを記述せよ!

●ダイアログボックスを使ってパスを入力できるようにする・・・・・・222

■ファイルのパスを入力するには「FileDialog」オブジェクトを活用せよ!

■「パス」フィールドの画像に切り替えるには「Current」イベントを利用せよ!

■パス取得ダイアログボックスを表示するには参照するライブラリを追加せよ!

第7章 データベース管理を極める

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

■パスワードを設定するにはデータベースを「排他モード」で開け!

■パスワードの解除は設定と同様の手順で行え!

●データベースをエディタで開いても内容が分からないようにする・・・・・・230

■パスワードと暗号化で二重にデータを保護せよ!

●特定のユーザーの操作を制限する・・・・・・232

■セキュリティを高めるには「管理者」にパスワードを設定せよ!

■パスワードを解除するにはパスワードを空欄に設定せよ!

■作成したアカウントにパスワードを設定するにはログオンし直せ!

■特定のユーザーの操作を制限するにはユーザーとグループの両方に権限を設定せよ!

●権限設定の操作を簡略化する・・・・・・236

■用途別に権限を設定したグループを作成して効率的に管理せよ!

●重複データを別のテーブルに分割して効率化する・・・・・・238

■重複するデータは「テーブル正規化ウィザード」で別のテーブルにまとめよ!

●Access2003の機能でデータベースをバックアップする・・・・・・242

■Windowsの再インストールに備えるにはMDWファイルのバックアップも作成せよ!

●Windowsの機能でデータベースをバックアップする・・・・・・243

■データベースのバックアップは「バックアップ」を活用して効率的に行え!

■バックアップファイルの復元方法はこれだ!

●リンクテーブルを取り込んで処理を高速化する・・・・・・246

■リンクテーブルを高速に使用するにはローカルテーブルとしてペーストせよ!

●データベースの構造を合理化する・・・・・・248

■最適化を行うかどうかは解析結果の内容で判断せよ!

■処理速度を向上させるにはデータベースをスリム化せよ!

第8章 知って得する便利技を極める

●フォーム切り替え用のメニューバーを作る・・・・・・252

●データベースを開くときに特定のフォームを自動表示する・・・・・・255

■データベースを実行専用にするには[起動時の設定(U)]コマンドを使え!

■設定した「起動時の設定」を無効にして起動するには[Shift]キーを押しながら開け!

●実行専用のデータベースを作る・・・・・・257

■MDEファイルのデザインを修正するには変換基のMDBファイルを修正せよ!

●データベースをワンタッチで最適化できるようにする・・・・・・259

■[リンク先(T)]への入力時に半角スペースを忘れるな!

●データベースからテーブルだけを切り離す・・・・・・262

■大量のデータを蓄積するデータベースは分割せよ!

■データベースを分割した後はバックエンドデータベースを移動するな!

●レコードを二重に編集できないようにする・・・・・・265

■二重の編集を防ぐにはレコードロックに「編集済みのレコード」を設定せよ!

■他のユーザーにデータベースを開かせないようにするには「排他モード」で開け!

●Excelで入力したデータをテーブルに取り込む・・・・・・267

●データベースのデータを使って電子メールを送信する・・・・・・269

●レポートをファイルに出力して電子メールで送信する・・・・・・272

■Accessなしでスナップショットファイルを扱うにはスナップショットビューアを使え!

●AccessのデータをHTMLファイルに書き出す・・・・・・274

■頻繁に更新しないデータをWebページに利用する際はHTMLファイルに出力せよ!

■出力したHTMLファイルのデザインを変更するにはHTMLテンプレートを使え!

●フォームやレポートのデザインを変えずにWebページに書き出す・・・・・・276

■フォームやレポートのデザインをWebページに利用するにはXMLファイルに出力せよ!

●テキストファイルのデータをテーブルに取り込む・・・・・・278

■テキストデータを取り込むには「インポート」機能を使え!

■Macintoshのテキストデータを取り込むには改行コードを変換せよ!

●テーブルを表形式のテキストで書き出す・・・・・・282

■テキストを表形式にして書き出すには「書式の保存」を有効にせよ!

■テキストをCSV形式で出力したいときは「書式の保存」を無効にせよ!

コラムページ