こんなデータベースを作成しています。
データとしては、社員番号、氏名、端末番号の3種類で、1つ目の
テーブルには社員番号(キー)と氏名、もうひとつのテーブルには
端末番号(キー)と社員番号があり、社員番号間でリレーション
シップを作成しています。なぜひとつのテーブルにしないかと
いいますと、以下の希望があるからです。
・社員番号は重複不可
・端末番号も重複不可
・ただし、端末番号は、使用していない番号もある。
(つまり、最後に端末番号順のレポートとして出力する際に、使用
していない端末番号があっても、それは使用者「なし」として
出力したいということです。)
ということで、2つ目のテーブルには、端末番号のみのレコードが
多数あります。この状態で、クエリにて社員番号、氏名、端末番号の
ものをつくり、ある社員の端末番号を変更しようとすると、エラーが
出てしまうのです。おそらく、空きの番号は2つ目のテーブルにて
社員番号「なし」で登録されているので、それと重複という扱いに
なっているのだと思います。私の考えだと、そこで自動的に端末番号の
テーブルの方も書き換えが起こると考えていたのですが・・・
アドバイスをお願いします。
この文ではよくわからない点もあるとは思いますので、補足もしたいと
思っています。
No.2ベストアンサー
- 回答日時:
表題と質問内容があっていませんね
表題を無視して回答します
ご質問の内容から推理すると
社員の端末使用状況を管理したいとうことのようですね
この場合社員と端末とは多対多の関係にあると思われますから
テーブルが2つでは不足です
テーブルは以下の3つになります
[社員マスタ](社員番号、氏名、・・・)
[端末マスタ](端末番号、端末名、・・・)
[使用状況](社員番号、端末番号)
多対多についてはヘルプで研究してください
この回答への補足
ありがとうございます。
悪戦苦闘しております。
テストとして、教えていただいた通りにテーブルを作って、リレーション
シップを設定してみました。で、クエリを作ってみたのですが、社員
コード順のもの(社員コード、氏名、端末名、・・・)はできたのですが、
全端末番号の一覧(端末番号、社員コード、氏名、・・・)を作ろうと
すると、エラーが出てしまいます。(あいまいな外部結合が含まれて
いるので・・・)というものです。
実は、表題の内容はここに絡んできていまして、空いている番号も
一覧として出したいのです。ただ、リレーションシップを設定する際に
「端末マスタ」の全レコードと「使用状況」の対応するレコードとの
結合にすると、上記のエラーが出てしまいます。お互いの一致する
レコードのみ結合とするとエラーは出ませんが、使用していない端末は
表示されなくなってしまいます。
状況が伝わりましたでしょうか??
No.5
- 回答日時:
>クエリのデザイン画面で設定する関連付けと、リレーションシップの
>画面で設定する関連付けは異なる種類のものということですか??
そうです
Accessは初心者用のDB。SQLを覚えなくてもデータベースができる
というあたりが売りで、本来ならSQLで記述しなければならない
クエリがクエリデザインビューで(全てのクエリには対応していませんが)
テーブルの定義がテーブルデザインビューで出来るようになっています
テーブルの方はデザインビューだけでは定義できないテーブルの関係
をリレーションシップウィンドウでの定義で補っています
ややこしいのはここからで
初心者に優しいDBの続きなんでしょうが
クエリでのテーブル結合の際に(本来は関係ない)
リレーションシップで定義した結合を結合候補として表示したりする
サービスをしてくれるところです
(このサービスのおかげで両者を同じと誤解する初心者が出てくるのでしょうね)
No.4
- 回答日時:
誤解があるようですよ
リレーションシップはテーブル間の(参照)関係を設定するものです
SQLで言えばCONSTRAIN句の設定です
クエリの結合はどのフィールド同士をどのように結びつけるかを設定します
SQLで言えば、JOIN句の設定です
2つにはよく似ていますが別の物です
この回答への補足
う~ん・・・ また混乱してきました。
クエリのデザイン画面で設定する関連付けと、リレーションシップの
画面で設定する関連付けは異なる種類のものということですか??
No.1
- 回答日時:
入力はどのようにするのでしょうか?
もし、フォームとかから入力するのならば
重複不可のためにテーブルを分ける必要はないかと。
入力checkの時に重複もついでに調べれば良いので。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- iCloud iPhone端末変更時のLINE引継ぎ 4 2023/07/09 15:07
- 確定申告 確定申告自体が初めてのE-TAXについて 4 2023/02/12 19:32
- Y!mobile(ワイモバイル) スマホ端末を実質ゼロ円 とにかく安く買いたいです そして解約したらダメですか? 2 2022/06/06 20:45
- LINE 【LINE】海外製端末に日本端末の電話番号を入力し、引き継ぎ(番号変更)をすることは可能ですか 6 2022/08/21 12:01
- Android(アンドロイド) 電話番号が変わったら クレジット番号とか 色々なサイトや場所で登録しているので 不便になる 3 2022/06/12 05:47
- Oracle sqlで質問です。 Aテーブルの登録番号をキーにBテーブルから確認番号を取得したいのですが、Bテーブ 4 2023/05/18 13:08
- LINE 電話番号を新しく作ったのでLINEを作ったのですが、打ち込んでみると おかえりなさい!〇〇と知らない 1 2022/03/31 13:30
- Android(アンドロイド) LINEの新規登録の方法がわからない! 4 2022/07/08 22:33
- ポイントサービス・マイル E-TAXについて 2 2023/02/12 16:18
- その他(スマホアプリ・スマホゲーム) GPSアプリのゼンリー(Zenly)を登録しようとしたら自分の別の端末の番号が表示されて原因不明 1 2022/07/24 00:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access レポート印刷するときに...
-
【Access】Dcount関数の複数条...
-
Accessのクエリで、replace関数...
-
ACCESS VBA でのエラー解決の根...
-
Vba Userformを前面に出すについて
-
アクセス ステップインのやり方
-
access クエリ yes/no型のクエ...
-
教えてください! アクセスの書...
-
実行時エラー3131 FROM 句の構...
-
access2019 チェックボックスと...
-
Accessレポートのチェックボッ...
-
Dlookupにエラーがでてしまう
-
Access Error3061 パラメータが...
-
accessのフォームに設置したボ...
-
accessデータを指定したExcel、...
-
アクセス レポートを開いたとき...
-
アクセスで1ヶ月ごとのカウント
-
Microsoft365にAccessってあり...
-
VBA。リストボックスの値を別の...
-
Accessというソフトで、生年月...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ワイモバイル機種変更について ...
-
Accessで、レポートに連番を振...
-
携帯電話の番号変更
-
こんにちは ワイモバイルシムフ...
-
タッチパネルが反応しない・・・・
-
au携帯からblackberryへアドレ...
-
イマドコかんたんサーチをau端...
-
DOCOMO ディズニーモバイルにつ...
-
FOMAカードの白ロムとは?
-
携帯端末情報を変えたい
-
IPアドレスとは、端末番号と言...
-
携帯電話の海外利用
-
電話番号登録
-
903i or MUSIC PORTER X
-
これって?SIMカード?
-
今のi phoneの着信拒否のアナウ...
-
ahamoは今の調子だとMNP申し込...
-
SIMとMNP番号の関係
-
Y mobileで購入したOppo a79を...
-
未成年でも購入できますか?
おすすめ情報