トップ > スキル : アプリケーション > Access(アクセス) > 基礎編(各オブジェクトの作成)

Access

各オブジェクトの作成

新規のデータベースを作成して、各オブジェクトの作成について説明をします。実際に作りながら覚えていくことが基本ですが、重要なポイントを必ず押さえておくことに心がけてください。

顧客情報データベースと顧客テーブルの作成

テーブルの構造がある程度理解できたら、ここで簡単な得意先のテーブルを作成し、さらに理解度をアップさせます。

① Access 2007を起動させ、左端上の[テンプレートカテゴリ」-[お勧め]を選択します。[空のデータベースを新規作成]の「空のデータベース」をクリックします。

② 右側の[空のデータベース]の[ファイル名]に「顧客情報」と入力して、[作成]ボタンをクリックします。

③ タイトルバーに「顧客情報」と表示されたウィンドウが表示されます。初期では、「テーブル1」という名前のテーブルが1つ作成され表示されます。

④ Accessの左端の[表示]ボタンをクリックして、デザインビュー表示に切り替えます。この時、テーブル名を入力する画面が表示されますので、「顧客」と入力して[OK]ボタンをクリックします。

テーブル名入力ウィンドウ

テーブル名が確定された画面で、顧客情報のデータを格納する設計を作成していきます。
また、[フィールド名]には仮の名前として「ID」と表示され、主キーが設定されています。[データ型]には「オートナンバー型」が設定されています。

⑤ 顧客データを扱う上で、まず顧客レコードを一意として識別するフィールドを決めますが、名前や住所、会社名などは重複する可能性があります。この様な場合、このテーブル上で番号を付加させることにします。
最初のフィールド名の行に「NO」と記述し、データ型を「オートナンバー型」のままにします。

また、左端に鍵のマークが表示されて主キーとなっていることを確認します。

⑥ 次に、以下のフィールドを追加して、それぞれのデータ型、フィールドサイズを設定します。

フィールド名 データ型 フィールドサイズ IME入力モード
名前 テキスト型 30 オン
郵便番号   8 オフ
都道府県   20 オン
市区郡   50 オン
住所   50 オン

⑦ 郵便番号を入力すると、自動的に都道府県、市区郡、住所のフィールドに入力できる仕掛けを設定します。Accessには、"住所入力支援"プロパティが用意されていますので、これを活用して入力の効率アップを図ります。
「郵便番号」フィールドを選択して、フィールドプロパティの「住所入力支援」プロパティをクリックします。右側にビルドボタンが表示されますので、それをクリックします。

⑧ テーブルを保存する旨のメッセージが表示されます。[はい]をクリックします。

メッセージ画面

⑨ [住所入力支援ウィザード]画面が表示されます。
最初の画面では、郵便番号のフィールドの指定を要求していますので、「郵便番号」フィールドを選択します。[次へ]ボタンをクリックします。

住所支援ウィザード最初の画面

⑩ このテーブルの住所構成は、都道府県、市区郡、住所の3分割ですので、下から2つ目を選択します。それぞれのコンボボックスには、以下のフィールドを指定します。

都道府県を表示するフィールド名は「都道府県」
市区郡を表示するフィールド名は「市区郡」
住所を表示するフィールド名は「住所」

[次へ]ボタンをクリックします。

住所支援ウィザード2つ目の画面

⑪ 動作確認の画面になります。試しに、自分の住んでいる郵便番号などを入力して、自動的に表示されるかを確認します。[完了]ボタンをクリックします。

住所支援ウィザード3つ目の画面

⑫ フィールドプロパティの変更の確認のメッセージが表示されます。[OK]ボタンをクリックします。

確認のメッセージ表示

⑬ 再び、「郵便番号」フィールドを選択します。
フィールドプロパティの「定型入力」と「住所入力支援」プロパティを確認します。

これで、顧客情報を入れるテーブルのデザイン(設計)はとりあえず完成しました。画面左上端の[表示]ボタンをクリックして、データシートビューに切り替えます。

⑭ データシートビューで開くと各列にフィールド名が表示されていることが確認できます。
まだ、データは空なので、セルは空欄になっています。「NO」フィールドは「(新規)」と表示されていますが、名前を入力すると自動的に番号が小さい順から振られます。

では、仮のデータを入力してみます。下図を参考にして作成してください。

「NO」フィールドは自動的に番号が入りますので、そのままEnterキーを押します。「郵便番号」フィールドに郵便番号を入力すると、自動的に「都道府県」「市区郡」「住所」フィールドにデータが入力されます。ここでは、詳細な住所内容までは入れませんが、実際のデータベースでは、住所フィールドに必要な内容(番地など)を追加します。

テーブルでの詳細設定

■ フィールド名

各フィールドには、他のフィールドと区別するための名前が必要です。テーブルが異なれば、フィールド名は同じでもかまいません。一般に、項目の名称として分りやすい名前をフィールド名として付けます。フィールド名には、以下のような制限があります。

  • ピリオド、感嘆符、角かっこなどの半角記号は使用できません。
  • 先頭にスペースは使用できません。
  • テーブル内で最大255個までフィールド名を設定できます。
■ データ型

格納するデータに合わせてデータ型を設定します。特に指定しない時は、自動的に「テキスト型」が設定されますが、後から自由に変更できます。データ型を設定することで、そのフィールドに設定されたデータ型に合わないデータは入力できなくなり、フィールドに入力するデータを一定の範囲に絞るチェック機能を持たせられます。主なデータ型には、以下のようなものがあります。

データ型 説 明 使用例
テキスト型 最大255文字までの文字、または計算の対象ではない数字を格納する。 商品名、郵便番号、電話番号など
メモ型 長い文字(最大で65535の半角文字)を格納する。 備考、摘要など
数値型 計算に使用する数値データを格納する。 数量、年数など
日付/時刻型 日付や時刻の値を格納する。計算にも利用できる。 誕生日、出勤時刻など
通貨型 通貨の値および数値データを格納する。 単価、金額など
オートナンバー型 新規レコード作成時に、自動的に連番が入力されます。
通常は、主キーとして使用します。
伝票番号、ID番号など
Yes/No型 二者択一の場合に使用します。 ある/なし(有無)の区分
OLEオブジェクト型 Word文書、Excelシート、イラスト、写真などのオブジェクトを格納する。 商品の写真、社員の顔写真など
ハイパーリンク型 Webサイト、イントラネットのサイトやファイル、Officeドキュメントなどへのリンクを格納する。 HPアドレス、メールアドレスなど
■ フィールドプロパティ

各フィールドには、さらに詳細な設定を行うことができます。フィールドの表示や入力方法など、デザインビューで設定できるフィールドの属性を「フィールドプロパティ」といいます。主なフィールドプロパティには、以下のようなものがあります。

フィールドサイズ テキスト型の場合、入力できる最大の文字の長さを指定できます。数値型の場合は、取り扱う数値の範囲を指定できます。
書式 データを表示するときの書式を設定します。
小数点以下表示桁数 数値型や通貨型の場合の小数点以下の桁数を設定します。
定型入力 データを入力しやすくするための書式を設定します。
標題 データシートビューやフォーム、レポートのフィールドの見出しを設定します。省略時には、フィールド名が使用されます。
既定値 新規レコードに自動的に入力される値を設定します。
入力規則 フィールドに入力できる値を制限する条件を設定します。
エラーメッセージ 入力規則に合わないデータが入力されたときに表示させるメッセージを設定します。
値要求 データの入力が必須かどうかを設定します。
IME入力モード フィールドにカーソルが移動したときのIME入力モードを設定します。
IME変換モード フィールドにカーソルが移動したときのIME変換モードを設定します。
ふりがな 入力された文字列から自動的に作成されたふりがなを表示するフィールドを設定します。
住所入力支援 入力された郵便番号に対応する住所を指定先のフィールドに入力します。また、その逆の住所から郵便番号を自動入力もできます。

データ型が「テキスト型」、「オートナンバー型」、「数値型」の場合の、[フィールドサイズ]プロパティはさらにより細かな設定が可能です。まとめると以下のようになります。

データ型 設定値 説明
テキスト型 0~255の数値  
オートナンバー型 長整数型またはレプリケーションID型
数値型 バイト型 0~255の範囲の数値
整数型 -32768~32787の範囲の整数
長整数型 -2147483648~2147483647の範囲の整数
単精度浮動小数点型 -3.4×1038~3.4×1038の範囲の数値。小数点以下の数値も扱えます。
倍精度浮動小数点型 -1797×10308~1797×10308の範囲の数値。小数点以下の値も扱えます。
レプリケーションID型 16バイトのグローバル一意識別子(GUID)。重複する可能性はほとんどありません。
十進型 -1028~1028の範囲の数値。単精度小数点型や倍精度小数点型よりも精度が高くなります。