リレーションシップでの空白データの入力


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
vol038

これならわかるマイクロソフトアクセス活用法
            -->リレーションシップでの空白データの入力
              
発行者:高内 章治 2007年10月24日
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏ 今日の内容 ━━━━━━━━━━━━━━━━━━━━━━━━┓

┃【01 - ご挨拶    】
┃【02 - トピックス  】リレーションシップでの空白データの入力

┃【03 - 編集後記    】

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

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

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

今回は、

「リレーションシップでの空白データの入力」

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




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

【02 - トピックス】: リレーションシップでの空白データの入力

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

先日、アクセスの教材を購入されたお客様から、開発中のアクセスのプログラムについて質問がありました。

データを入力したのだけどクエリでデータが表示されないという質問です。

調べてみると、リレーションシップ(以下リレーションと呼びます。)の中で空白データが悪さをしていました。

リレーションは、難しいので、今回はリレーションについて説明したいと思います。

■例をあげて説明します。

以下のような「顧客マスタ」のテーブルがあります。

顧客コード 顧客名
A01 東京商店
A02 大阪商店
(キー)

別に、「売上げデータ」のテーブルがあります。

ID 売上日 顧客コード 売上数量
1 2007/10/24 A01 100
2 2007/10/25 A02 200

この中で、「顧客コード」にリレーションを作成します。
リレーションとは、日本語で関係という意味です。
「顧客マスタ」の「顧客コード」と「売上げデータ」の「顧客コード」にリレーションを作ります。

こうすると、「売上げデータ」の「顧客コード」を入力するときには、必ず「顧客マスタ」の「顧客コード」と同じものしか入力できなくなります。
これが、リレーションです。
これで、データの整合性がとれます。矛盾がなくなります。

でも、問題があるのです。

「売上げデータ」を入力する場合、規定値では、「顧客コード」の入力は、空白で可能になっています。

ここで、問題が発生します。

例えば

以下のクエりを作成したいとします。

(顧客マスタ)
ID 売上日 顧客コード 顧客名 売上数量

「売上げデータ」に「顧客マスタ」の「顧客名」を追加して、表示したいとします。

このとき、「顧客コード」が空白のデータは表示しません。


これは、「顧客コード」は、必ず「顧客マスタ」に入力されているデータしか表示しないからです。
「売上げデータ」の「顧客コード」は空白ですのでデータは表示されないのです。

■では、どうしましょうか?

いくつか方法があります。

  1. まず「売上げデータ」をフォームなどで入力する場合
    「顧客コード」が空白のときはチェックする。
      
    フォームの更新前処理で「顧客コード」が空白かチェックします。

    でもこれは、VBAのコードを作成する必要がありますので難しいですね。

  2. 簡単な方法です。
    「売上げデータ」テーブルの「顧客コード」の下にフィールドプロパティがあります。
    その中の「値要求」を「はい」に変更します。

    こうすると「顧客コード」は空白ではだめです。
    何か文字を入力する必要があります。
    入力したコードが、「顧客マスタ」にないと警告がでます。
    意味のわかりづらい警告ですが。

まず、2から始めるのが簡単です。

リレーションをしている項目は、空白にしないようにした方がよいですね。


参考にしてください。



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

アメリカのワールドシリーズが、25日に開幕しますね。

今年は、日本人が3人もでるので楽しみです。

皆(松井、松坂、岡島)活躍しているので早く試合がみたいです。


◆私がアクセスをマスターできたのは!!
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:582003

アクセス全体

VBA

SQL Server