過去の桐井戸端BBS (桐ver.5)
4209 重複登録を禁止にしたい KUNI 2000/1/19-15:08
V5です。
簡単な質問かもしれませんが、どなたかご教示願います
NULL値を除く同じデーターの登録を禁止したいのですが、表定義でできる方法はありますか?
よろしくお願いいたします。

4210 Re:重複登録を禁止にしたい 宮城 2000/1/19-17:39
記事番号4209へのコメント
KUNIさん、こんにちは。NULL値を含む同じデータの登録禁止なら次によりできます。

当該項目で整列をかけ、「整列項目値の重複」を禁止にします。

NULL値除外となると・・・。

4215 Re:重複登録を禁止にしたい tomo 2000/1/19-21:47
記事番号4210へのコメント
表の未定義項目値処理を未定義にしてはどうですか?
こうすると全ての項目の空白=未定義になってしまうので
空白+1=空白なんてことになったりして計算で困りますか?
困らないなら重複禁止は、表定義(の制約)で重複禁止にすればいいのでは?

4220 重複禁止は整列索引で 佐田 守弘 2000/1/19-23:53
記事番号4209へのコメント
KUNIさん
桐ver.5の場合、重複禁止の設定は、整列の設定で行う方法だけで行えます。
そして、未定義値に関しては、表題での設定がゼロになっている場合には、複数レコ
ードでの未定義値の存在が重複として扱われます。
未定義値を未定義値として扱う設定の場合には、未定義値のレコードが複数行あって
も、重複としては扱われません。

ですから御質問の件は、未定義値を未定義値として扱う設定とし、重複禁止の整列索
引を設定する方法が唯一です。

佐田守弘(KS-00119)

4222 Re:重複登録を禁止にしたい KUNI 2000/1/20-16:34
記事番号4215へのコメント
>表の未定義項目値処理を未定義にしてはどうですか?
>こうすると全ての項目の空白=未定義になってしまうので
>空白+1=空白なんてことになったりして計算で困りますか?
>困らないなら重複禁止は、表定義(の制約)で重複禁止にすればいいのでは?
>
tomoさんありがとうございます
表題の未定義項目値処理を2:未定義にし、項属性の項目制約に重複禁止と入力しま
したが重複入力ができてしまいます。なおV5のリファレンスには重複禁止の関数も
それらしい式も載っていません。初心者なのでよく分かりませんでした。
佐田さんの方法も取ってみましたが、複数の整列項目値が一致しないと重複と見なし
てくれません。一つの表で単独での重複禁止はやはりできないのでしょうか?

4244 重複禁止をする項目についての索引を作ります。 佐田 守弘 2000/1/21-01:02
記事番号4222へのコメント
KUNIさん

>複数の整列項目値が一致しないと重複と見なしてくれません。
>一つの表で単独での重複禁止はやはりできないのでしょうか?
との事ですが、重複禁止をする項目についての索引を作ります。
複数項目での索引の場合には、指定した項目が全て一致した時に重複と判定されます。

分かりにくい様なので、例題で説明します。

●社員番号を重複禁止にする
社員番号は、社員を特定するID番号ですから、同じ番号が存在してはなりません。
この様な時の重複禁止は、[社員番号]1項目だけの索引を作り、重複禁止に設定します。
これで、同じ社員番号の重複入力ができなくなります。

●宿泊予約のダブルブッキングを防止する重複禁止
宿泊施設の予約のダブルブッキング防止では、同じ日付で同じ部屋番の重複を禁止しま
す。なぜなら、同じ日の予約は、部屋が違えばあり得ますし、同じ部屋の予約も日付が
違えばあり得ます。
この様な場合には、[日付][ルーム番号]の2項目からなる索引を作り、重複禁止をしま
す。[日付]と[ルーム番号]の単独項目の索引を作り、どちらも重複禁止にすると、同じ
日付の予約ができなくなり、また日付が違っても同じ部屋番は予約できなくなってしま
います。

佐田守弘(KS-00119)

4247 Re:重複禁止をする項目についての索引を作ります。 KUNI 2000/1/21-08:35
記事番号4244へのコメント
佐田さん詳しい説明ありがとうございます。
Accessではインデックスを重複なしと設定すると、同じテーブルでも単独に複数の重複禁止が
できますが、桐ではやはり無理ということですね?
別な意味で便利な機能でもありますが.....。
勉強をして別な方法を考えてみます。

4261 桐もAccessも同じです 佐田 守弘 2000/1/21-23:31
記事番号4247へのコメント
KUNIさん
インデックスによる重複禁止の考え方は、桐もAccessも同じはずです。
実は、前回書きました宿泊予約のダブルブッキング防止の重複禁止の例は、Accessのリファレン
スに掲載されていたものです。
Accessのリファレンスを理解していれば、ほとんどそのままで桐にも通用します。細かい点は別
として、基本的な考え方は大体に通っております。
(違う部分もありますけど)

佐田守弘(KS-00119)

4303 Re:桐もAccessも同じですが違うような気がします KUNI 2000/1/25-15:42
記事番号4261へのコメント
佐田さんコメントありがとうございます。
Accessでは同じテーブルで主キー以外に単独で重複する値の入力を防げると共に、組み合せに重複する値
の入力も防げます。
桐Ver.5では両方はできないのではと思いますがいかがでしょうか?
先生に対してとんちんかんな質問かもしれませんがお許し下さい。
KUNI

戻る