星野 努 著
Oracle/SQL Server/MySQLなど、商用/オープンソースを含めて世の中には多くのデータベース製品があります。Accessもそのうちの1つであり、多くのユーザーに利用されています。その理由はなんと言ってもGUIベースの機能が多く搭載されている点でしょう。これらの機能を利用すれば、“それなり”のデータベースなら簡単に作成できます。しかし、ちょっとコツさえ習得すれば、業務で使える“本格的な”データベースを作成できます。本書では、業務向けAccess開発に有益なノウハウを厳選し、体系的に分かりやすく解説します。
本書は、DBマガジンの人気連載「目からウロコのAccess開発」(全15回)に加筆/修正を加え、1冊にまとめたものです。
01 画面イメージから考えるテーブル設計(1)
Accessオブジェクトと開発ステップ
Accessオブジェクトの開発手順
テーブル作成の前にやるべき重要なこと
画面イメージを考える
データ項目をすべて抜き出す
データ項目にデータを当てはめる
連続したデータ項目をグループ分けする
重複したデータ項目をグループ分けする
保存しなくても良いデータを除外する
テーブルとフィールドに展開する
テーブル構造と画面の操作性
テーブル正規化ウィザード
まとめ
02 画面イメージから考えるテーブル設計(2)
前章で作成したテーブルの問題点とその対策
どんなケースで問題が発生するのか
問題点を考慮したテーブル構造
Accessのフィールドのデータ型
フィールドのそのほかの属性
テーブルを作成してみよう
インデックスを付ける
主キーの設定
外部キーの設定
クエリ作成のポイント
まとめ
03 使いやすく効率的なフォームデザイン法
Accessにおけるフォームの位置付け
フォームの作り方
オートフォームを利用する方法
デザインビューを利用する方法
フォームウィザードを利用する方法
見積入力画面の作成
メインフォームの作成
サブフォームの作成
メイン/サブ形式のフォームの作成
デザイン時に留意するフォームのプロパティ
グリッド数は8程度に
レコードセレクタと移動ボタンの有無
自動中央寄せは“はい”に
デザイン変更の許可は“デザインビューのみ”に
境界線スタイルは“サイズ調整可”のままに
課題は逐一設定する
コントロールを追加したらタブオーダーに注意
フォームの整形に関する調整
位置やサイズに関する書式設定
コントロールの書式設定
デザイン作業に役立つツールバーのカスタマイズ
まとめ
04 フォームで使うVBAの基礎
マクロとVBA
Accessを操作するためのプログラムの概念
オブジェクトって何?
そもそもプロパティとは
属性を表わすプロパティ
プロパティの入力支援機能
オブジェクトを動かすメソッド
イベント
イベントの使い方
イベントプロシージャの作り方
フォームを操作するVBA Tips
フォームの背景色を変える
フォームの編集可否を切り替える
フォームのレコードソースを切り替える/フォームのレコード数を取得する
フォームのピクチャを切り替える
指定ユーザーのみにフォームを開かせる
フォームを閉じるときにAccessも終了する
閉じて良いか否かの確認メッセージを表示する
指定時刻にアラームを表示する
リサイズに合せてコントロールの大きさを変える
アクティブフォームの課題を変える
ファンクションキーを処理する
フォームのOpenArgsプロパティを利用する
まとめ
05 コントロールを使いこなす(1)―ラベル/コマンドボタン
標準コントロールとActiveXコントロール
Access標準コントロール
ActiveXコントロール
ラベルコントロールのVBA Tips
ラベルに今日の日付を表示する
ラベルに現在時刻を表示する
ラベル全体を点滅させる
ラベルの枠線を点滅させる
曜日によってメッセージを切り替える
文字数によってフォントサイズを変える
コマンドボタンコントロールとは
コマンドボタンのプロパティとメソッド
コマンドボタンのイベント
コマンドボタンコントロールのVBA Tips
特殊キーと組み合わせたクリックを処理する
クリック処理したらボタンを使えなくする
クリックごとに課題を切り替える
ボタンのクリックでWebページを表示する
ボタンにロールオーバーの機能を持たせる
アクティブなボタンを強調表示する
まとめ
06 コントロールを使いこなす(2)―テキストボックス(その1)
ValueプロパティとTextプロパティ
Valueプロパティとは
ValueプロパティとTextプロパティの違い
テキストボックスのプロパティとメソッド
テキストボックスのイベント
テキストボックスのVBA Tips(その1)
入力値をチェックする
入力文字数をチェックする
入力文字数を全角に変換する
入力値からスペースを取り除く
入力値によってフォーカス先を変える
氏名入力後に姓/名を分割する
データが異なる値に更新されたかをチェックする
住所入力をスムーズに行なう
テキストボックス内で四則演算する
特定レコードだけデータ入力を受け付けない
取り消し操作を取り消す
まとめ
07 コントロールを使いこなす(3)―テキストボックス(その2)
テキストボックスのVBA Tips(その2)
データを入力したら[OK]ボタンを使えるようにする
指定文字数の入力で自動的にフォーカス移動する
行数が多いときだけスクロールバーを表示する
ダブルクリックでズームボックスを表示する
右クリックでズームボックスを表示する
別フィールドのデータをヒント表示する
矢印キーでレコードを移動させる
指定文字以外は受け付けない
コントロールソースの演算式を切り替える
カレント行全体の背景色を変える
すべてのテキストボックスを一度に空欄にする
タグプロパティの使い道
まとめ
08 コントロールを使いこなす(4)―コンボボックス/リストボックス
コンボボックスとリストボックスの機能と違い
コンボボックスについて
リストボックスについて
コンボ/リストボックスのプロパティ
コンボ/リストボックスのメソッド
コンボ/リストボックスのイベント
コンボ/リストボックスのValueプロパティ
コンボボックスのVBA Tips
連結以外の値の取得
自動的にドロップダウンさせる
[↓]キーでドロップダウンさせる
選択肢を動的に設定する
リストのソースを動的に切り替える
2つのコンボボックスをリンクさせる
行数をダブルクリックで増やす
リストにない入力データをテーブルに追加する
リストボックスのVBA Tips
先頭項目を初期選択させる
ダブルクリックで[OK]ボタンの処理を実行させる
複数選択項目を取得する
すべて選択/解除の機能を付ける
未選択かどうかを確認する
2つのリストボックス間で項目をやり取りする
まとめ
09 コントロールを使いこなす(5)―値のON/OFFの操作
4つのコントロールの概要
4つのコントロールの使い分け
4つのコントロールのプロパティ
4つのコントロールのメソッドとイベント
Valueプロパティの使い方
チェックボックスのTips
チェックの有無でテキストボックスの使用可否を切り替える
チェックの有無で背景色を切り替える
すべての項目にチェックを付ける
チェックボックス付きリストボックス風フォーム
オプションボックスのTips
オプションボタンの数を状況によって切り替える
選択項目のシンプルな処理分岐
オプションボタンでレコードの抽出方法を切り替える
トグルボタンのTips
ボタンのON/OFFで標題を切り替える
ボタンのON/OFFでピクチャを切り替える
選択されているボタンを強調表示する
選択肢の標題を後処理に使う
ボタンのON/OFFでレコードの抽出方法を切り替える
フリガナ抽出用のトグルボタンの使用例
まとめ
10 コントロールを使いこなす(6)―イメージ/タブ/改ページ
イメージコントロールとは
イメージコントロールのプロパティ/メソッド/イベント
イメージコントロールのVBA Tips
画像を動的に変える
画像ビューアを作る
表示サイズを動的に切り替える
イメージをツールチップに使う
イメージをボタンとして使う
イメージマップを作る
タブコントロールとは
タブコントロールのプロパティ/メソッド/イベント
タブコントロールのプロパティとメソッド
タブコントロールのイベント
タブコントロールのVBA Tips
選択されているページの標題を取得する
特定ページ内のコントロールを列挙する
改ページコントロールとは
改ページコントロールのプロパティ/メソッド/イベント
改ページコントロールの利用例
フォームのデザイン
プログラムコードの実装
まとめ
11 コントロールを使いこなす(7)―サブフォーム
メイン/サブフォームの構造
サブフォームを使うメリット
メリット1:データの入力を効率化できる
メリット2:抽出処理画面が簡単に実現できる
メリット3:見栄え良く画面をデザインできる
サブフォームによるデータ入力効率化の例
サブフォームによるデータ抽出画面の例
ビジュアル性におけるサブフォームのメリットの例
VBAによるサブフォームの操作例
サブフォームに表示するフォームを切り替える
リンクフィールドを動的に切り替える
メインフォームからサブフォームのオブジェクトを扱う
サブフォームからメインフォームのプロシージャを実行させるには
2つのサブフォームをリンクさせるには
Accessのオプションのコントロールについて
カレンダーコントロール
バーコードコントロール
まとめ
12 DoCmdオブジェクトを使いこなす
DoCmdオブジェクトとマクロ
DoCmdオブジェクトの位置付け
DoCmdオブジェクトとコントロールウィザード
マクロからVBAへの変換
DoCmdオブジェクトの主要メソッド
フォームを開く(OpenFromメソッド)
フォームのレコードを移動する(GoToRecordメソッド)
レポートを開く(OpenReportメソッド)
オブジェクトを選択する(SelectObjectメソッド)
フォームやレポートを閉じる(Closeメソッド)
アクションクエリのメッセージを抑止する(SetWarningメソッド)
SQLを実行する(RunSQLメソッド)
砂時計ポインタを表示する(Hourglassメソッド)
オブジェクトを削除する(DeleteObjectメソッド)
テーブルを直接印刷する(PrintOutメソッド)
オブジェクトをメールに添付する(SendObjectメソッド)
RunCommandメソッドの利用
RunCommandメソッドの特性と注意点
注意点1:処理が実行できない場合のエラー
注意点2:対象にフォーカスがない場合の問題
注意点3:マニュアル操作に準じた一連の手続き
まとめ
13 フォームのレコード操作テクニック
フォームのRecordsetオブジェクト
Recordsetオブジェクトによるレコード移動
Recordsetオブジェクトによるレコード編集
Recordsetオブジェクトによるレコード検索
フォームのレコード操作で使えるプロパティ
カレントレコード番号を表示する
再クエリ後にカーソルを元のレコードに戻す
新規レコードの削除時エラーを回避する
指定レコード番号へジャンプする
範囲選択されたレコード数/列数を取得する
範囲を指定してコピーする
RecoedsetとRecordsetClone
非連結フォームへのRecordsetの代入
フォームのRecordsetSourceプロパティ
まとめ
14 Excel連携テクニック
マニュアルによるExcelファイルのインポート
メニューからのインポート
新規データシートへの貼り付け
既存のテーブルへのExcelデータの追加
Excelでの整形と貼り付け
インポートテーブルと追加クエリ
DoCmdオブジェクトによるインポートの自動化
メソッドの使用バリエーション
マスタテーブルのメンテナンス
Excelファイルへのエクスポート
CSVファイルへの加工データのエクスポート
Excelオブジェクトを使ったデータ出力
Excelを操作するための基本事項
請求書フォームへの出力例
まとめ
15 Accessツールの活用法
テーブルの正規化
データベース分割ツール
アップサイジングウィザード
データベース構造の解析
オブジェクトの依存関係
セキュリティウィザード
データベースのバックアップ
アドインマネージャ
まとめ
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。