1-1
データベースの概要とAccessの基本
まずはじめに、データベースとはどんなものなのか、どのように作るのか解説します。現在、手作業や、Excelなどの表計算ソフトで行っている業務を、Accessでデータベース化する方法を考えます。
なお、本書ではAccessのデータベースウィザード機能を使わずに、自分で空のデータベースを作成して業務内容に適したデータベースを構築する方法を中心に解説します。データベースウィザードを使うと、いっけん簡単に作成できそうですが、できあがったデータベースの中がどうなっているかがつかみにくくなってしまいます。初心者はまず、自分で最初から作成したほうが、理解を深めやすいといえます。
❶Accessによるデータベース構築の概要
1◆データベース構築の流れ
データベース化する対象を売上の管理とし、図1.1の作業の流れでデータベースを構築します。
2◆データベースの基本構造
Accessで作成するデータベースは、データを記録するテーブル、データ入力や編集を行うフォーム、集計結果などを印刷するレポート、複数のテーブルを1つに見立てたり検索などに利用するクエリから構成されます。販売管理と請求書発行を行うデータベースの構造は、図1.2のようになります。
●テーブル、フォーム、レポート、クエリ
データを集める場所がテーブル、テーブルにデータを入力したりテーブルのデータを参照したりするのがフォーム、結果を印刷するのがレポートです。それぞれ、たがいに参照しあう関係か、一方的に参照する関係をもちます。図1.2の例では、3つのテーブルに1つのフォームが結びつけられています。Accessでは、1つのフォームに複数のテーブルを結びつけることが困難なことがあります。これを補う機能としてクエリがあります。クエリは、複数のテーブルを1つにまとめることができる仮想のテーブルと考えることができます。これは正確な表現ではありませんが、とりあえず「仮想のテーブル」と理解しておきましょう。実際は、クエリにはもっとさまざまな機能があります。それらの一部をPart3で解説します。
図1.1
図1.2
キーワード
■テーブル データを記録する場所、Accessで扱うすべてのデータはテーブルに記録される
■フォーム テーブルに記録したデータを見やすく表示する、あるいわテーブルにデータを記録したり編集したりする操作を行うための機能
■レポート テーブルに記録したデータ、あるいはクエリで抽出したデータを、レポートや報告書スタイルで印刷するための機能
■クエリ テーブルに記録したデータの中から目的のデータだけを抽出したり、複数のテーブルを1つにまとめる機能で、仮想テーブルと理解しておけばよい
❷現在の業務からデータベースを考える
本書では、販売データをデータベース化して、データ入力から1枚の請求書を発行するまでと、販売データを集計するためのインタフェースを作成します。データベースの構造は、日常的に使用している伝票を参考にして考えます。電卓で計算し手書きで作成している請求書や、Excelなど表計算ソフトのワークシート上で作成している請求書をもとに、データベースの構造を考えるということです。
1◆請求書の項目を抜き出す
Excelで作成した請求書をもとにデータベースの構造を考えてみましょう。現在使っている伝票は、図1.3のようになっています。この内容から、データベースとして記録するデータは、①顧客情報、②自社プロフィール、③請求内容の3種類に分類できます。
AC7G310Z
顧客情報としては、請求書の上では顧客名だけが表示されていますが、このほか顧客番号、住所、電話番号といったデータも必要です。また、自社プロフィールには、社名、住所、電話番号、FAX番号のデータが必要です。請求内容は、品番、商品名、単位、単価、数量、金額などのデータから構成されます。図1.3ア~ウはそれぞれテーブルの一部である、1件分のデータと考えることができ、各データは図1.4のようにいくつかの項目から構成されています。
この1件分のデータのことをレコードといいます。また、各項目のことを、フィールドといいます。
図1.4
●テーブルの分割
請求内容テーブルについて、もう少し考えてみましょう。Excelで図1.3のような請求書を作成する場合、品番を入力して、商品名、単価、単位などは自動表示させます。Accessでも、商品名の一覧表から必要な商品名を選択して入力することができます。そのためには、商品名に着目した別のテーブル(商品テーブル)を作成しておくことが必要です。請求内容テーブルから、商品にかかわる情報を抜き出すと、図1.5のようになります。
図1.5
1つのテーブルを2つに分けましたが、「品番」の項目は両方のテーブルに残してあります。新しい請求内容テーブルの「品番」は、販売した商品名、単位、単価を知るために必要です。商品テーブルの「品番」は、複数の取扱商品から1つを識別するために必要です。新しい請求内容テーブルの品番で商品テーブルを参照し、商品名、単価などを調べることができるということです。つまり、新しい請求内容テーブルの「品番」は商品名、単位、単価を明示するために使われます。実際のデータ「商品名、単位、単価」は、商品テーブルに記録されていて、新しい請求内容テーブルの「品番」と、商品テーブルの「品番」はつながりをもたせてあるということです。このつながりのことを、リレーションシップといいます。Part3の請求書を作成するために必要なテーブルは、図1.6のようになります。フィールド(項目)の分け方を変更して、フィールド名も変更してあります。請求内容テーブルは特別な役割をもつテーブルなので、ここではとりあえず除外しておくことにします。
図1.6
なお、フィールド「郵便番号」と「都道府県」は、顧客名簿テーブルと自社プロフィールテーブルに重複していますが、それぞれ別のことを表すデータなのでリレーションシップは設定しません。同じフィールド名が存在しても、リレーションシップを設定しないかぎり、つながりは発生しません。
●主キーと外部キー
前述のように、1件を構成するひとまとまりのデータのことをレコードといいます。各テーブルは、1つ以上のレコードから構成されます。商品テーブルには、レコードを特定するためのフィールド「品番」があり、これを主キーに設定します。新しい請求内容テーブルの「品番」は商品テーブルの主キーを参照して、商品名などのデータを得ています。主キーを参照する。参照元のフィールドを外部キーといいます。
2◆テーブルとフォームの関係
図1.6の3つのテーブルによって構成されるデータベースの構造は、図1.7のようになります。フォームとテーブルのつながりについて考えてみましょう。フォームが伝票になりますから、伝票に❶[顧客名簿]テーブルから会社名を抜き出して記入、❷[自社プロフィール]テーブルから社名を抜き出して記入、❸[商品テーブル]から商品の品名などを抜き出して記入といった操作が必要です。つまり、フォームに入力する内容は、テーブルから抜き出して記入するということです。言い換えると、フォームの入力内容は、テーブルからデータを参照しているということになります。データ入力が済んだら、フォームの内容をマスターテーブルに記録します。マスターテーブルは、Part2以降で作成します。
図1.7
図1.7のように、顧客名簿テーブル、自社プロフィールテーブル、商品テーブルからデータを取り出してフォームに入力し、フォームからマスターテーブルにデータを記録します。販売数量のデータは、キーボードで入力します。
!最小構成のデータベース
極端にいうと、キーボードからすべてのデータをフォームに入力すれば、データベースの最小構成はフォームとマスターテーブルの2つだけですむ。つまり、図1.7の例では、顧客名簿テーブル、自社プロフィールテーブル、商品テーブルは、データ入力の手間を省く機能と考えることができる。これらが存在しなくても、データを蓄積するという機能にはなんの支障もない。だからといって、これらのテーブルを省いてしまうと、コンピュータを使う目的の1つである「作業量を減らす」ことができなくなるので、実際的ではない。
3◆テーブルにデータを入力するフォーム
フォームはマスターテーブルにデータを蓄積するためだけに使うのではなく、参照用のテーブル(ここでは顧客名簿テーブル、自社プロフィールテーブル、商品テーブル)に新しいデータを入力するための窓口としても使います。フォームを使う目的の1つは、入力操作の簡略化です。各テーブルに専用のフォームを作って、入力の操作を簡略化できるように工夫すると、使いやすいデータベースが作成できます。
図1.8 テーブルとフォームの関係
キーワード
■フィールド テーブル内に記録するデータの項目列
■テーブル分割 必要なデータを複数のテーブルに分散して記録する
■リレーションシップ 複数のテーブルに分散されたデータのつながり
■主キー テーブルに記録されたデータの中から1つひとつを識別するためのデータの入るフィールド。これにより、データの重複を避けることができる
■外部キー 主キーを参照する、あるいは比較するフィールド
❸空のデータベースを作成する
すべての内容を自分で決めて、独自のデータベースを作成する場合は、ファイル名だけを決めた空のデータベースを作り、データベースの構造を考えながら、テーブルやフォームを作ります。前項で解説した内容で基本構造を設定することにします。
1◆データベースを新規作成する
Accessを起動して操作をはじめます。
操作
図1.9 ◆ Accessを起動
❶ 作業ウィンドウの[空のデータベース]をクリックする
図1.10◆[新しいデータベース]ダイアログボックスが表示される
AC7G248Z図1.9
AC7G250Z図1.10
●データベース名を決めて作成する
新しく作成するデータベースのファイル名を決めて入力します。保存するフォルダは、Accessの起動直後ならセットアップで自動作成されたMy Documentsが指定されていますが、保存場所は変更することもできます(25ページの「3◆保存場所を決める」参照)。ここでは、マイドキュメントで操作を進めます。
操作
図1.11◆ 新しいデータベースのダイアログボックス
ア ファイルの保存場所(変更するときは「▼」ボタンをクリックして選択する)
❶ ファイル名の入力欄をクリックして、ファイル名(ここでは自動指定された
「db1」)をそのまま使用する
❷[作成]をクリックする
図1.12イ 空のデータベースが作成される
ウ Access2000形式が新規作成されている
ここで作成した新しいデータベース「db1」(他のファイル名でも可)は、次のオプション指定で必要なので開いたままで次に進めてください。
AC7G262Z
AC7G263Z
2◆Access2002ファイル形式
Access2002でデータベースを新規作成すると、Access2000形式とAccess2002形式の2通りのどちらかが作成されます。どちらが作成されるかは、[オプション]ダイアログボックスの[詳細]タブで指定します。この指定を済ませた後に新規作成するデータベースに、指定した形式で作成されます。
なお、[オプション]ダイアログボックスの操作は、データベースが開いていないと操作できないので、任意のデータベースを開いた状態で操作することが必要です。ここで設定する[規定のファイル形式]は開いた既存のデータベースに設定するものではありませんが、オプションダイアログボックスの操作を行うためにデータベースを開いた状態で行う、ということです。
操作
ア データベースが開いている状態
① メニュー[ツール]→[オプション]をクリックする
イ[オプション]ダイアログボックスが開く
②[詳細]タブをクリックする
AC7G264Z
AC7G254Z/AC7G255Z
③ 既定のファイル形式を「Access2002」に指定する
④[OK]をクリックする
AC7G256Z
以上の設定で、次から新規作成はAccess2002形式で作成されます。
3◆データベースを閉じる
開いているデータベースを閉じるときは、データベースウィンドウの[×]をクリックします。ウィンドウが画面からはみ出していて、[×]をクリックできないときは、タイトルバー左端のアイコンをクリックして開くショートカットメニューの[閉じる]を選択して閉じることもできます。
操作
① ウィンドウの[×]をクリックする
② アイコンをクリックして[閉じる]をクリックする
AC7G265Z
4◆作例用のデータベースを作成する
本誌で作成するデータベースを作りはじめることにしましょう。ファイル形式はAccess2002形式で作成します。データベース名は「小番頭」、保存場所は「共有ドキュメント」にしておくことにします。これまでの解説を参考に、メニュー[新規作成]→[空のデータベース]を選択し、[新しいデータベース]ダイアログを開いて、以下の操作に進めてください。
>操作
◆ メニュー[新規作成]→[空のデータベース]を選択して[新しいデータベース]ダイアログを開く
① 保存先は「共有ドキュメント」を選択する
② ファイル名(ここでは「小番頭」)を入力する
③[作成]をクリックする
ア 新規のデータベース「小番頭」が作成される
イ ここではAccess2002形式になっている
AC7G268Z
AC7G251Z
AC7G269Z
5◆アプリケーション名を付ける
アプリケーション名を付けると、Accessウィンドウにその名前が表示されるようになります。この名前はタスクバーにも表示されます。ファイル名と別の名前をAccessウィンドウのタイトル部に表示させたいときに設定します。
>操作
図1.13◆データベースウィンドウ
❶タイトルバーを右クリックしてショートカットメニューを表示する
❷[起動時の設定]をクリックする
図1.14◆ダイアログボックスが表示される
❸[アプリケーションタイトル]の入力欄をクリックする
❹名前(ここでは「社内データベース」)を入力する
❺[OK]をクリックする
図1.15アアプリケーション名が表示される
図1.16イタスクバーにもアプリケーション名が表示される
AC7G271Z
AC7G270Z
AC7G272Z
AC7G273Z
●アプリケーションアイコンを付ける
アプリケーションアイコンの絵柄は変更することができます。独自のアイコンを作成するにはアイコンエディタなどのアイコン作成用のアプリケーションが必要ですが、AccessやOffice添付のアイコンを利用することもできます
>操作
図1.17◆[起動時の設定]ダイアログボックス
❶アプリケーションアイコンの[・・・]ボタンをクリックする
図1.18◆[アイコンの参照]ダイアログボックスが表示される
❷目的のアイコンが保存されている場所を探す
❸目的のアイコンをクリックして反転表示にする
❹[OK]をクリックする
図1.19イここに選択したアイコンのファイル名が表示される
❺[OK]をクリックする
図1.20ウ選択したアイコンに変更される
エタスクバーのアイコンも変更される
AC7G274Z
AC7G275Z
AC7G276Z
AC7G277Z
なお、ファイル名の入力欄(図1.18ア)に文字(以前に入力したファイル名など)が残っていると、その内容で検索されたファイル名が一覧表示されて、すべてのファイル名は表示されません。入力欄の文字を消すと、図1.18のようにすべてのファイル名が表示されるようになります。
●作例ファイル「小番頭」を閉じる●
ここで、操作中の作例ファイル「小番頭」を一旦閉じてから次に進めてください。
標準添付のアイコンのありか
標準添付のアイコンは、AccessまたはOfficeをセットアップしたドライブのFormsフォルダ内のフォルダに入っている(\Program Files\Microsoft Office\Office10\forms\1041\Activitl.icoなど)。セットアップ状況によりパスは異なるので、ドライブやフォルダを探す必要があることもある。なお、アイコンをセットアップしていないときは、追加セットアップが必要だ。
5◆保存場所を決める
会社などでネットワーク化されたパソコンシステムでは、データを1か所に集めて総合的にデータ管理することが好ましく、データを集中管理するコンピュータ(サーバという)に作成するのがよい方法です。Accessはネットワークに対応しているので、新しいデータベースを作成するとき、保存先をネットワーク上のサーバに指定することができます。個人的な目的で利用するなら、自分専用のコンピュータにデータベースを作成します。ここの操作は、方法の手順を解説しているので、読者が使っているシステムやネットワークの状況で内容および手順が異なります。以下は参考としてご覧ください。
>操作
図1.21◆[データベースの新規作成]ダイアログボックス
❶[▼]ボタンをクリックして一覧を表示する
❷目的の保存場所をクリックする
図1.22◆コンピュータの一覧が表示される
❸目的のコンピュータ(サーバ)をダブルクリックして開く
図1.23◆選択したコンピュータ内のドライブやフォルダが表示される
❹目的の保存場所をダブルクリックして開く
AC7G278Z
AC7G280Z
AC7G281Z
●フォルダを作って保存
[新しいフォルダの作成]ボタンをクリックしてフォルダを作成し、そこに保存することもできます。また、すでに存在するフォルダに保存するときは、そのフォルダを開きます(図1.27)。
操作
図1.24◆ドライブ下のフォルダ「データベース」を開いたところ
❶[新しいフォルダの作成]ボタンをクリックする
図1.25アダイアログボックスが表示される
図1.26❷フォルダ名(ここでは「販売部」)を入力する
❸[OK]をクリックする
図1.27◆フォルダが作成されて開く
❹ ファイル名(データベース名、ここでは「販売管理」)を入力する
❺[作成]をクリックする
AC7G283Z/AC7G284Z
AC7G285Z
●フォルダの作成を確認する
新規作成したフォルダは、作成と同時に自動的に開きます。上の階層のフォルダに戻ると作成されている状態を確かめることができます。
操作
図1.28[新しいデータベース]ダイアログボックスを開く
ア 直前に作成したフォルダが開く
❶[1つ上のフォルダへ移動]ボタンをクリックする
図1.29 イ フォルダを作成した元のフォルダ表示に戻る
②[キャンセル]をクリックして閉じる
AC7G286Z/AC7G287Z