今回は小~中規模のデータベース作成に重宝するMicrosoftAccessについて触れていきます。
なにができるの?
データベースとは?
データベースを聞くとハードルが高そうに聞こえますが、イメージは電話帳のようなものです。
名前・住所・電話番号などが個人別に一覧になっていれば十分データベースと言えます。
MicrosoftAccess(以下Access)は個別のIDなどを基に色々な情報を整理し、管理・保管をします。
Excelとの違いは?
ExcelとAccessの大きな違いはその容量になります。
Excelでは1つのシートの制限は1,048,576 行と16,384 列が最大となっています。これだけを見ると使いきれない量に見えますが、ある程度のデータを管理するようになるとこれでも不安な量なんです。
その点Accessは1つのテーブル(エクセルでいうシートのようなもの)が2GBまでとなっています。これは逆に少なく感じますか?スマホの通信量で〇GBという単位を見るのでそう感じるかも知れませんが、以下のように見るとその膨大さがわかるかもしれません。
1KB(キロバイト)=1024Byte
1MB(メガバイト)=1048576Byte
1GB(ギガバイト)=1073741824Byte
Accessのテーブル容量は2GBなので、2147483648Byte
全角1文字が2Byteなので、英数字抜きで全て全角で書いても10億文字以上入れられます。(実際は他のデータも含まれるのであくまで目安です)
Excelは基本が「表計算ソフト」となっていて、そのシート上でデータと計算をいっぺんに管理できるので便利ですが、日々増える顧客データなどをデータベース化したい場合はAccessのほうが向いています。
基本の理解
テーブル
ここにデータを置いていきます。例えばID・氏名・住所・電話番号・会社名・部署名・役職などを羅列します。これを蓄積していくことでデータベースを作っていきます。テーブルは複数作ることができるので例えば、「個人情報テーブル」「出張データテーブル」「趣味テーブル」など、その個人にまつわる色々なテーブルを作りあとでクエリを使って合体・抽出などをしていきます。
クエリ
クエリを使うとテーブル同士を繋ぐことができます。共通するIDなどをリンクさせることで、各テーブルにあるデータを自由に抽出することができます。
フォーム
画面に入力スペースを作ってテーブルにデータを追加したり、ボタンを作ってユーザーが使いやすい見た目にすることができます。※今回は説明を省略します。
レポート
テーブルやクエリのデータを表示・プリントできます。
モジュール
VBAでプログラミングをします。※今回は説明を省略します。
実践
テーブルを作成してみよう
まずAccessを開くとこのような画面になります。(Access2016です)
この通りなんにも出てきません。私は大昔、ここでいきなり詰まりました。先任から引継ぎがなく初めて触ってこの状態。心折れますね…
でも最近は使い勝手が便利になりました。
タブに「作成」があります。
このタブを選択するとテーブルやクエリなどが出てきます。
「テーブル」と「テーブルデザイン」がありますが今回は「テーブルデザイン」を使っていきます。
「テーブルデザイン」をクリックすると
このような新規テーブルが作成されます。
ここに入力されたものがデータベースの基本です。
このフィールドに
このように項目を追加していきます。(他のテーブルとリンクさせるためのIDなどを必ず入れましょう)
※データ型は後々計算などをしたいフィールドなら「数値型」を選びます。
他のテーブルとのリンク用に「主キー」を設定します。これは検索速度向上などにも役立ちます。
IDフィールドを右クリックして項目の中から「主キー」をクリックします。
左に鍵のマークがついたら完了です。
今後テーブルを作成するときもIDに主キーを設定します。
入力が終わったら
「表示」をクリックすると
このようにさっき入力したものがフィールド名として表示されます。
この画面になったら実際にデータを入力していきます。
こんな感じです。足りなければ
ここをクリックしてデザインモードに戻ります。必要なフィールドを追加してください。
※IDは今後すべてのテーブルの基本となるため、重複しない値にすべきです。今回は西暦+年月+連番という形にしています。これなら一日に999人まで登録できます。もっと必要な場合は末尾を0001などにすれば9999人になるので同じように桁を増やしてみてください。
テーブルにデータを入力したらひとまずデータベースの完成です。名前を付けてテーブルを保存しましょう。
※後で連結するテストデータとして出張業務テーブルも作っておきました。
このままデータを蓄積することはできますが、必要なときに必要なデータだけ取り出したいので、クエリを使って抽出していきます。
クエリで繋ごう
クエリはテーブル同士を繋ぎ、データを合体して表示したり必要なデータだけ抽出したりできます。
では早速
作成タブのクエリデザインをクリックします。※クエリウィザードを使っても大丈夫です。
このような画面が表示されるので、繋ぎたいテーブルをダブルクリックして追加します。
テーブルを追加するとこのように選択したテーブルが表示されます。
次にテーブルを連結させるため、左のIDフィールドをクリックし、そのまま右のIDフィールドにドラッグします。
こうなればOKです。
これでテーブルがIDで繋がったので、表示したいフィールドをダブルクリックして選択します。
このようになります。
全て選択したら画面左上の
をクリックします。
このように個人情報と出張業務が連結して表示されれば成功です。
ここでは全て選択しましたが、必要なフィールドだけ選べば自由に抽出できます。
※名前を付けて保存をお忘れなく。
Accessではクエリの使いこなしが不可欠です。さらに詳しい使い方はまた別の記事で。
レポートに出力してみよう
では抽出したデータをレポートに出力しましょう。
作成タブの
「レポートデザイン」をクリックします。
このような画面がでます。
ここに必要なデータを表示していきます。
ページヘッダーとフッターはページが移行した場合も共通して表示される部分です。
画面上のこの部分にレポートに配置するアイテムなどがあります。
まずは「Aa」を選びテキストをヘッダーに配置してみます。
次に「詳細」を選び、右クリックをして「レポートのプロパティ」をクリックします。
「レコードソース」に選択したテーブルやクエリのデータがレポートに表示できます。
ここでは先ほど作ったクエリを選択します。
これで下準備ができたので実際に配置していきます。
デザインタブの「テキストボックス」を選択し、「詳細」の中でクリックするとテキストボックスが配置されます。
「非連結」はまだ何のデータも入っていない状態です。
ここに任意のデータを表示できるようにしていきます。
配置したテキストボックスを上記のように選択状態にしたら先ほどのプロパティのコントロールソースを
表示したいフィールドに変えます。
そうすると「非連結」となっていたボックスが
選んだフィールド名になります。
配置が終わったら右上の
「表示」を選ぶと
このように表示されます。
これでテーブルやクエリのデータをレポートに表示することができました。
もちろん表示したいフィールドがあれば複数配置することができるので試してみてください。
今回はAccessの概要をご覧に入れましたが、次回以降はクエリやフォームなどそれぞれのテーマに絞って解説していきますのでよかったらそちらもご覧ください。
ご覧頂きありがとうございました!
コメント
[…] https://life-technic.net/microsoftaccessとは?/ […]
[…] Accessの基本的な使用法はこちら […]
[…] https://life-technic.net/microsoftaccessとは?/ […]
[…] Accessの基本的な使用法はこちら […]