Upload
tetsuya-yamamoto
View
166
Download
3
Embed Size (px)
Citation preview
Microsoft Access 研修
配布物
• テキストブック• スライド資料のコピー• サンプルファイル
今回の概要
• 実習はあまりない– Access2007以前と以降で操作感がかなり違う
–講師もこのバージョンに熟練していない–テキストは自習資料として充分優れている
• Accessの使い道や特徴を知ってもらう–まずは座学で
Microsoft Access
• データベース構築のためのソフト• 軽い使い方から、システム開発まで可能
• Excelなどと比べてとっつきが悪い ?– Excelは最初が楽。使い方も奥が深い。 Excelで足りるならこれで十分
システム開発 ?
• データ入力、操作、出力までを管理できる
• 数人で操作する比較的大規模なデータベースを構築できる
データベース = 表 ?
• 表のようにしてデータを持っている点では、 Accessは Excelに似ている
• Excelではシート、 Accessではテーブルと呼ぶ
Excelとのデータの扱いの違い
• 縦方向の行数 (レコード数 )が無制限• 行番号がない• 入力データに規則がある• 色・フォント・枠をつけられない
レコード ?
• 横方向のひとつながり• Excelのように、ずらしてしまうことはできない
• 横方向のそれぞれのデータはフィールド名を持つ
データに規則がある
• 主キーがある• 規則に従わないデータを入力できない
–数値型–文字型 (文字数制限あり )–日付型– Yes/No型
• 検索 (クエリー )の効率がよくなる
行番号がない
• それぞれのレコードの表示順は、その時指定された並び順に従う。 Excelのような行番号はもたない–オートナンバーがそれに似ているが、後述
色・フォント・枠線なし
• テーブルに入っているのはあくまで「データ」のみで、見せ方は気にしていない。–これを世話するのは、フォームやレポート
リレーショナルデータベース
• つまり、 Accessが扱うデータは一般的に「リレーショナルデータベース」と呼ばれるもの– Oracleや SQL-Serverみたいな
Accessプロジェクト
• ファイルひとつに複数のテーブルとその他の構成物–テーブル–フォーム–クエリー–レポート– etc.
テーブル
• 最重要。データを格納する部分–テーブルだけを使っても最低限の仕事は可能
• 入力、更新、削除• レコード設計
入力、更新、削除
• 新規入力行は一番下• レコードからカーソルが離れた時点で確定
• 入力する行位置は指定できない• 大量のレコードは検索機能で探す
レコード設計
• データ型–オートナンバー型
• 必須フラグ (値要求 )
• 主キー–ダブり防止
リンクテーブル
• 外部のテーブルを、自分のもののように使える–他の Accessデータベース
• ネットワーク上の他のコンピュータ上
– Access以外のデータベース• Oracleなど
–数人でひとつのデータベースを触ることが可能に
フォーム
• テーブルを直接触らずにデータを操作する–フロントエンドというときもある–データベースの部分はバックエンド
• きれいな入力画面• より細かい入力規則• マクロ /VBA
テーブルに直結
• ひとつずつの枠を、該当するフィールドに結びつける
• データの入力、更新、検索、削除ができる
きれいな入力画面
• レイアウト• 多彩なコントロール
–リストボックス–コンボボックス–チェックボタン、ラジオボタン、カレン
ダー etc.
マクロ・ VBA
• ボタンを押した、レコードを更新したなどのタイミングで、マクロなどのプログラムを実行させることができる– VBAはちゃんとしたプログラム言語–マスターすれば、非常に込み入った仕事も可能
• 保守を難しくする側面もある
クエリー
• 今回は選択クエリーのみ–更新クエリー・削除クエリーは省略
• テーブルのデータに適用する「フィルター」
• テーブルの「連結」もできる
Excelのオートフィルタに似てる
• 決まった種類のデータを持つ行だけ抽出
• 抽出 +並べ替え
必要なフィールドのみ表示
• 必要ないデータを隠す
クエリー = レシピ
• テーブルの内容をどう抽出して表示するかを、クエリーという形で設定して保存しておく–次回から同じ条件の抽出をするために同じクエリーを開けばよい
–クエリーを消してもテーブルは消えない–クエリーから行を消せば、テーブルの行は消える
パラメータを要求するクエリー
• 抽出する値が実行のたびに異なるとき–指定月のデータを見たいとしても、月ごとに新しいクエリーを作る必要はない
集計をするクエリー
• 月ごとの合計、データ件数、など• 集計クエリーの結果は更新できない
連結クエリー
• テーブル Aとテーブル Bを連結して表示
• 連結に使うフィールドを指定• 人や商品の「名称」は連結先から持ってくる
クエリー結果を連結するクエリー
• 読み解くのも嫌になるが、こういうものが納品されるときもある
クエリーの正体は SQL
• リレーショナルデータベースを操作するための標準的な言語
• すべてのクエリーは SQLで表わせる• Accessは、直接的には SQLを理解する
–クエリーを作らずに SQLを直接あたえてもよい
• Accessが上達する → 他の DBへの「つぶし」
テーブルを作るのは慎重に
• クエリーはテーブルの設計に依存する• テーブルの設計を変えたら、クエリーが無効になるときがある
• フォームも同じ。テーブルの設計に依存する
レポート
• クエリーなどの結果を紙に出力• レイアウト、フォント、色、網掛け等• 小計、合計
テーブル /クエリーに直結
• フォームのときと同じ• 各フィールドを、明細エリアのそれぞれに対応付ける
キレイに作るには練習がいる
• 微調整が面倒• クエリーを直接印刷して足りるときもある• クエリーの結果を Excelに切り貼りして操作するのもアリ– …使い慣れたグラフ機能やピボット集計
• csvなどのテキストファイルにして外部システムに持っていくのも可能
レポートでラベル印刷
• 段組印刷ができる• 台紙に位置を合わせるのが便利
テーブル・フォーム・クエリー・レポート
その他の話題 (1)
• リレーションシップ–データどうしのつじつまを保つ機能–使わなくても不便はない
その他の話題 (2)
• サブフォーム・サブテーブル–鑑に対する明細行のこと–たいていのシステムでは必須
その他の話題 (3)
• インデックス–巻末の「索引」のようなもの– 100万件あるデータを効率よく検索できるようになる。
• 逆に、データが少ないときは意識することは少ない
その他の話題 (4)
• プロジェクトテンプレート–出来あいのプロジェクトが準備されているので、これをカスタマイズして望むものにしていく
–たぶん、使うことはない
まとめ (1)
• Accessを使うこと自体を目的にしなくてよい– Excelやラベルソフトで足りることも多い–必要な機能を必要に応じて
• 多人数でデータを使うなら、 Accessが有用かも
まとめ (2)
• 一度作ったら、修正はたいへん–テーブル・フォーム・クエリー・レポートが相互に依存
–利用者はひとりでないかも知れない–複雑なマクロや VBAを書くと、修正ができずにブラックボックス化
• VBAは、理解できてくると、ついのめりこむ• 怖くて変更できない
まとめ (3)
• 「使う」ことはたまにあっても「つくる」ことは少ない–業者が、 Access製のシステムを納品–データベースは長く使われて価値がある
• 初期の設計が大事