
一応、過去ログの検索もしてみましたが見当たらないようですので、質問させて下さい。(あまりにも初歩的すぎるのかしら?^^;)
○会員-施設クエリ
■会員情報テーブル
・会員情報ID
・氏名
・生年月日
・[施設情報ID]
■施設情報テーブル
・施設情報ID
・郵便番号
・住所
・電話番号
上記のような構成で2つのテーブルを[施設情報ID]でリレーションを組んでクエリを作成しております。
会員情報を検索する際、所属施設がわかるようにしたいわけですが、会員情報の入力時に[施設情報ID]がnullのままだと、そのレコードはクエリの表示結果に反映されません。(会員情報テーブルには「0」と表示されて出てくるのですが)
強制入力させたいところですが、会員情報入力の際に所属施設が判明していない場合があり、そういうワケにもいかない状況です。
[施設情報ID]がnullの場合は施設情報関連のフィールドは空欄のままでよいので会員情報部分だけでも表示してほしいのですが・・・。
どなたかお知恵をお貸し下さい。宜しくお願い致します。<(_ _)>
No.2ベストアンサー
- 回答日時:
質問の意味が掴みきれないので滑ってたら御免なさい。
たぶんこういう事だと思いますが
リレーションを設定するときに[結合プロパティー]の設定がありますが
3つ選択肢のある中で
1両方のテーブルの結合フィールドが同じ行だけを含める。
になっていたら2か3の
'会員情報テーブル'の全レコードと '施設情報テーブル'の同じ結合フィールドのレコードだけを含める。
を選択すれば良いのではないでしょうか
No.4
- 回答日時:
ACCESSがないんで、一般的な話ですが、この手の問題は良くおきます。
解決策は、2つあります。
実際には、同じなんですが。
ACCESSでの実装は、参考URLを参考にしてください。
外部結合
SELECT * FROM 会員情報テーブル
LEFT OUTER JOIN 施設情報テーブル
ON 会員情報テーブル.施設情報ID = 施設情報テーブル.施設情報ID;
UNION結合
SELECT 会員情報ID,氏名,生年月日,施設情報ID,郵便番号,住所,電話番号
FROM 施設情報テーブル,会員情報テーブル
WHERE 会員情報テーブル.施設情報ID = 施設情報テーブル.施設情報ID
UNION
SELECT 会員情報ID,氏名,生年月日,NULL,NULL,NUll,NULL
FROM 会員情報テーブル
WHERE 施設情報ID IS NULL
参考URL:http://ikari.ikari24.com/db/access2.html http://www11.plala.or.jp/studyhall/access/sql03. …
No.3
- 回答日時:
アクセスでクエリを作る場合、おそらくデータシートビューでやってますよね?
この場合、二つのテーブルを繋ぐ線が出ていると思います。
普通に作るとこの線は両端に矢印があると思うのですが、この線をダブルクリックすると「結合プロパティ」という画面が出てきます。
ここで2番or3番を選択することで実現できると思います。
ちなみにSQL文でやる場合、初期値はINNER JOIN というようになっていますが、これをLEFT JOIN または RIGHT JOIN に変更します。
違うビューでやっている場合は、別途ご相談ということで・・・
No.1
- 回答日時:
いちばん簡単な方法ですが、施設情報テーブルに「施設不明」のレコードを追加するのはだめですか。
つまり、nullにしないで、9999が入っていたら施設がわからない(もしくは決まってない?)という感じ。■施設情報テーブル
施設情報ID:9999
施設名:不明
郵便番号:
住所:
電話番号:
■会員情報テーブル
会員情報ID:1
氏名:○○○○
生年月日:2000/01/01
施設情報ID:9999
* 9999は例なので実際にあわせたIDを考えてください。
* 施設名は質問文にないですが適当な項目がないので勝手に追加しました。この辺は適当に。
根本的な問題ですが、値をnullにしておくと「入力忘れ」との区別がつきませんね。重要な項目には、できるだけ値を入力したほうが間違いないと思います。そのほうが後で修正するのも楽なはずです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
選択クエリで空欄のテーブルがあっても表示したい
Access(アクセス)
-
アクセスのマッチングで空白がある場合の処理方法
その他(データベース)
-
Null同士の結合
その他(データベース)
-
-
4
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
5
「#エラー」の回避
Access(アクセス)
-
6
Access 同じデータをたくさんのレコード(同一列)に一度に入力するには
Access(アクセス)
-
7
アクセス エラーを数値「0」に変換するには
Access(アクセス)
-
8
Accessでデータシートに同じデータがいくつもでてしまいます。
その他(データベース)
-
9
accessで、2テーブル間で複数のリレーションをしたい
Access(アクセス)
-
10
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
-
11
テーブルでメモ型になっているのにクエリで結合ができません。
その他(データベース)
-
12
NULLを含む文字列の結合で困っています。
Visual Basic(VBA)
-
13
フォームの値をクエリーに反映したい
その他(Microsoft Office)
-
14
サブフォームを非表示させる方法を教えて下さい
その他(Microsoft Office)
-
15
Access テキスト型に対する指定桁での0埋め方法
その他(データベース)
-
16
ACCESS クエリの抽出条件に他のテーブルの値を参照する方法
Access(アクセス)
-
17
コンボボックスで入力したものが ID?で表示される
Access(アクセス)
-
18
ACCESS クエリで重複データを最新の1件だけ表示
Access(アクセス)
-
19
access クエリの抽出条件を入れるとパラメーターの入力が出てしまう
Access(アクセス)
-
20
ACCESSでデータ読み取り専用を解除する方法
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【ACCESS】リレーションを組ん...
-
SQL文(テーブル項目名が特殊文...
-
ACCESSテーブルを RecordSet以...
-
select文の戻り値を変数に格納...
-
access コンボボックス初期表示...
-
accessのフォームを使ってテー...
-
ASP(VBScript)で自動連番
-
Accessのクエリで、replace関数...
-
エクセルで、絶対値の平均を算...
-
ExcelVBAを使って、値...
-
エクセルvbaで、別シートの最下...
-
表にフィルターをかけ、絞った...
-
VB.NETで DataRow()を利用して...
-
Excelで指定した日付から過去の...
-
特定のセルが空白だったら、そ...
-
count(*)で取得した値をJAVAの...
-
ListView 項目の選択/選択解除...
-
Excelのプルダウンで2列分の情...
-
VBAでActiveDirectoryのユーザ...
-
テキストボックスのvalueとtext...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSテーブルを RecordSet以...
-
select文の戻り値を変数に格納...
-
【ACCESS】リレーションを組ん...
-
SQL文(テーブル項目名が特殊文...
-
access コンボボックス初期表示...
-
DBの読み込み順について
-
外部キーのリレーションが設定...
-
Delphi BDE 複数ユーザによる...
-
Accessの認証について
-
SQL文なんですが
-
accessのフォームを使ってテー...
-
異なるデータベースでのSELECT ...
-
C# OleDb SQL JOIN すると例外
-
テーブルというグローバル変数
-
DataGridViewで編集した内容を...
-
VBとACCESSを接続したい
-
select文の検索結果と文字列を...
-
ASP.NET:複数結合テーブルのデ...
-
ASP(VBScript)で自動連番
-
ExcelVBAを使って、値...
おすすめ情報