リレーションはどこまで設定するか


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
vol080

これならわかるマイクロソフトアクセス活用法
            -->リレーションはどこまで設定するか
              
発行者:高内 章治 2009年1月29日
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏ 今日の内容 ━━━━━━━━━━━━━━━━━━━━━━━━┓

┃【01 - ご挨拶    】
┃【02 - トピックス  】リレーションはどこまで設定するか

┃【03 - 編集後記    】

┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

─────────────────────────────────
【01 - ご挨拶    】          
─────────────────────────────────

こんにちは、高内(こうない)です。

今回は、

「リレーションはどこまで設定するか」

についてお話したいと思います。




─────────────────────────────────

【02 - トピックス】: リレーションはどこまで設定するか

─────────────────────────────────

皆さんは、アクセスのテーブルを作成したあとリレーションを設定していますか?

リレーションとは、テーブルとテーブルを関係づけることです。

例えば、

次のような、「商品分類データ」のテーブルがあるとします。

分類コード 商品分類
A01 デジカメ
A02 パソコン
A03 テレビ

そして、次のような「商品データ」のテーブルがあります。


商品コード 商品分類 分類コード
S01 デジカメ1 A01
S02 パソコン2 A02
S03 テレビ3 A03

この、「商品データ」の「分類コード」を入力するときには、必ず「商品分類データ」の「分類コード」を入力する必要があります。

他の「分類コード」を入力すると困りますね。

この入力ミスを防ぐため、リレーションを設定します。

「商品分類データ」の「分類コード」と「商品データ」の「分類コード」にリレーションを設定します。

テーブルがたくさんある場合、どこまでリレーションを設定するか、難しいですね。

私は、最初に設定する基礎データ、マスター関係のデータは、リレーションを設定します。
入力ミスを防ぐためです。

売上や、出荷など、毎日入力するデータ(トランザクションデータ)については、ケースバイケースです。
商品コードなどの重要な項目については、リレーションを設定した方がいいでしょうね。

気をつけないといけないのは、
リレーションを設定していない場合、マスターを削除する時には、必ず、マスターデータが使用されているトランザクションデータを必ず、チェックすることです。

例えば、
売上や、出荷などに、商品コードが残っているのに商品データから、その商品を消してしまうことです。

消してしまったら、売上の商品名がなくなって売上がおかしくなってしまいます。


やり方は、いろいろあると思いますが次のやり方が簡単です。
例えば、
「削除」のボタンのクリック時のVBAに以下のコードを入れています。

---------------------

Dim Code As Variant

Code = Me!KEIYAKU_CD

If DFirst("BUKKEN_CD", "Q_BUKKEN1", "KEIYAKU_CD = '" & Code & "'") <> "" Then

MsgBox "物件マスタにデータがありますので削除出来ません。"

Exit Sub

End If

これは、フォームのKEIYAKU_CDが、Q_BUKKEN1というクエリのKEIYAKU_CDをチェックして、存在するときはBUKKEN_CDを表示します。
その時は、メッセージを出してVBAを終わります。

---------------------

リレーションの設定のやり方は次を参考にしてください。

http://www.sk-access.com/syo_table/sta006_relation.html
http://www.sk-access.com/syo_table/sta007_sansyo.html

参考にしてください。



─────────────────────────────────
【03 - 編集後記    】       
─────────────────────────────────

マイクロソフトが、ビスタの次のOSの「Windows7」のOSのベータ版のダウンロードを開始しました。

ビスタより軽くて、互換性の問題もないようです。
評判は、よさそうですね。

アクセスのどのバージョンが動くかはまだわからないようです。


◆私がアクセスをマスターできたのは!!
http://www.sk-access.com/kyozai/zaiko1.html  

テーブル作成からVBAまでマスターできます。 
「在庫管理システムをアクセスで作ってみよう」教材です。
http://www.sk-access.com/kyozai/zaiko2.html  


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
●ご意見・ご感想・ご質問
 
『メルマガでもっとお役にたてる情報を配信したいと思いますので、日ごろから疑問に思っていることを教えてください。
宛先はこちらへです』

  •  kohnai★vega.ocn.ne.jp
      (高内:こうない:)
    (メールするときは、★を@に変えてください)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


◎「これならわかるマイクロソフトアクセス活用法」 のバックナンバー・配信停止はこちら

archive.mag2.com/0000222659/index.html

◎以下のホームページからでもバックナンバーを見ることができます。

http://www.sk-access.com/mailmaga/index.html

登録・解除につきましてはご自身でお願いいたします。

※このメールマガジンの転送はOKですが、掲載された記事の内容を許可無く転載することをを禁止させて頂きます。
必ず事前にご相談ください。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


1週間でアクセス(Access)のシステム開発ができる〜
「在庫管理システムをアクセスで作ってみよう」教材

「アクセスのプログラム/システムを短期間で開発したい方」、
「アクセスのフォーム/VBAを完全にマスターしたい方」のための
アクセス(Access)を使って1週間でシステム開発する究極の方法とは?

「アクセス(Access)のシステムを無料のSQL Server 2016 Expressへ
移行してみよう」教材

あなたの会社のアクセス(Access)のデータベースやシステムに不安を感じていませんか?
アクセスのデータ量が多くなり処理スピードが遅くなった。
アクセスのデータを共有したい。
セキュリティに不安がある。などと、感じている方は!!
(SQL Server 2016 Expressバージョンです。)


「アクセス(Access)プログラムの仕様書の作り方」教材
マイクロソフトアクセスを使用して、プログラムの作成/システム開発をおこないたい方の為に、
アクセス(Access)のプログラム開発に成功するために絶対に必要な「仕様書」とは?



[↑一番上へ]
[マイクロソフトアクセス活用法(メールマガジン)(ホームへ)]
12:562003

アクセス全体

VBA

SQL Server