TOP PAGEへ 会社案内 データ館 達人募集 訂正情報 新刊案内 龍之介の部屋 読者の広場 譲ります

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

「今からAccessの全機能を勉強し直す時間がないが、今すぐ達人の技を使いたい」そんなあなたの要求に応えます。フツーに使っていては、案外と痒いところに手が届かない(融通のきかない)Accessです。この際だから、これまで難しいとも思われていたプロの手際の鮮やかさを全部公開します。達人が使うとAccessはここまで進化します。

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

cover

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

●データシートの左端の項目を常に表示できるようにする・・・・・・14

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

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

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

■データを一覧から選んで入力するには「コンボボックス」を使え!

■一覧に表示させるデータは「連結列」プロパティで指定せよ!

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

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

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

●フォームを開いたときに入力状態になるフィールドを設定する・・・・・・21

■入力できる最初のフィールドを設定するには「SetFocus」メソッドを使え!

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

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

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

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

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

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

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

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

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

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

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

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

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

●フォーム上のカレンダーから日付を入力できるようにする・・・・・・33

■カレンダーから日付を自動入力するには「カレンダーコントロール」を使え!

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

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

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

●入力フィールドのカーソルが移動する順序を変更する・・・・・・37

■入力フィールドの移動順序を変更するには「タブオーダー」を使え!

■特定のフィールドにカーソルを移動させたくないときは「タブストップ」を使え!

■移動順序をワンタッチで変更したいときは[自動]ボタンを使え!

●入力中のフィールドに色を付けて見やすくする・・・・・・39

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

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

●チェックボックスでフィールドの表示を切り替えるようにする・・・・・・41

■入力フィールドの表示/非表示を切り替えるには「可視」プロパティを使え!

●特定の入力フィールドを参照専用に設定する・・・・・・44

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

●[Esc]キーを押すとフォームが一発で閉じるように設定する・・・・・・46

■[Esc]キー一発でフォームを閉じるには「キャンセルボタン」を割り当てよ!

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

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

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

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

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

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

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

●入力データの値を一気に置き換える・・・・・・57

■テーブルの値を一気に置き換えたいときは「置換」機能を使え!

●条件に合う会員の有効期限を1年先に延長する・・・・・・59

■日付データを1年先の日付に変更するにはDateAdd関数を使え!

■全レコードの値を一括変更したいときは抽出条件を省略せよ!

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

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

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

●金額の小数点以下の数値を切り捨てて表示する・・・・・・65

■小数点以下の数値を切り捨てるにはInt関数を使え!

■小数点以下の数値を四捨五入するときはInt関数をこうして使え!

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

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

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

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

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

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

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

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

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

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

●3年以上前のレコードだけを削除する・・・・・・80

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

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

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

●レコードを削除すると関連するテーブルのレコードも削除できるようにする・・・・・・83

■親子テーブルのデータを同時に削除するには「連鎖削除」を有効にせよ!

■親子テーブル間で主キーを同時に変更するには「連鎖更新」を有効にせよ!

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

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

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

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

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

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

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

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

●「た」行で始まる名前の顧客のみを抽出する・・・・・・94

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

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

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

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

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

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

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

●得点によって合否の判定を行う・・・・・・102

■入力したデータによって異なる処理を行うにはIIf関数を使え!

●図書の棚卸で紛失している書籍を調べる・・・・・・104

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

●優良顧客を新規テーブルに書き出す・・・・・・107

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

●項目名をそのつど入力してクロス集計する・・・・・・109

■取り出したいデータを入力してクロス集計するには「パラメータクエリ」を組み込め!

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

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

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

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

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

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

●売上を担当者と月で分類して印刷できるようにする・・・・・・120

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

●レポートの背景に画像を印刷するように設定する・・・・・・140

■画像ファイルを設定する際はピクチャのサイズと配置に注意せよ!

●レコードを2列に印刷できるようにする・・・・・・142

■複数列にレコードを印刷するにはページ設定の[列数(C)]に列数を入力せよ!

■複数列に印刷するレポートは列幅を工夫せよ!

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

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

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

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

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

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

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

●特定の条件を満たすデータに独自の書式を設定する・・・・・・152

■発注が必要な商品や目標達成を目立たせるには条件付き書式を使え!

■別のフィールドの値を条件にするには数式を入力せよ!

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

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

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

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

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

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

●基になるデータベースへのパスを変更する・・・・・・162

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

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

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

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

●賃貸物件の家賃を20,000円間隔で階層表示する・・・・・・166

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

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

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

●中古車の販売価格の集計を求める・・・・・・170

■集計の目的に合わせてグループ化する項目を選択せよ!

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

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

●氏名で検索したデータを表示する・・・・・・174

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

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

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

●データアクセスページにハイパーリンクを表示する・・・・・・178

■テーブルにハイパーリンクをダイレクトに入力するには「#」を使え!

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

■ピボットテーブルリストを使ってデータを分析せよ!

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

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

●条件が空かどうか判断してデータを抽出できるようにする・・・・・・188

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

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

●Excelで作成した商品データを取り込んでテーブルに追加する・・・・・・195

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

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

●指定した価格以下の商品を一括して削除する・・・・・・199

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

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

●マクロをVBAに変換して機能を追加する・・・・・・206

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

●SQLを使用して勤務時間をクロス集計する・・・・・・210

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

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

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

■「パス」フィールドの画像を自動的に表示するには「Current」イベントを利用せよ!

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

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

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

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

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

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

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

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

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

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

■アカウントをまとめて管理するにはグループを作成せよ!

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

■グループに権限を設定して効率的に管理せよ!

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

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

●データベースのバックアップを行う・・・・・・233

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

■データベースの分割はシステムが巨大化したときに行え!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

          

コラムページ