- ベストアンサー
Accessのプロの方教えて!!
- 申請者が本人の場合には、本人テーブルよりデータを引用したいのです。
- フォームを使って入力する際に、続柄が本人としたときには、本人テーブルよりデータを表示させ、本人以外ではそのままデータを入力できるようにしたいです。
- 後で、申請者一覧を確認する際には、本人データも含めた一覧が必要になります。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
「何度か同じ質問をしたのですが・・・。」と言われても、そのときの回答の何がわからなかったのか、あるいは、何が問題なのかを書くとか、その質問の URL を貼り付けるとかしないと、前回と同じような回答しかもらえないとは思いませんか? 私は http://oshiete1.goo.ne.jp/kotaeru.php3?q=801406 の回答をしましたので、いくらか問題点が推測できますが、他の質問については、どういう質問をされたのか、また、どういう回答がついたのか、全くわかりません。 とりあえず、私が知りえる範囲で推測して書きますが、 「クエリーの IIf([申請者].[続柄]="本人", [本人].[氏名], "" ) をフォームで表示しているテキストボックスには入力できないのが嫌だ」ということですよね?それで現状では、申請者テーブルをデータシートビューで開いて直接申請者テーブルに入力せざるを得ないということですよね? やり方はいろいろあるかもしれませんが、私だったら次のようにします。 (1) 本人テーブルの番号と申請者テーブルの番号を結合したクエリーを作成し、クエリーのフィールドには、 申請者テーブルの氏名、住所、電話番号 と 本人テーブルの氏名、住所、電話番号 の両方を表示させる。 (2) フォームに続柄を表示するコンボボックスを作り、 コントロールソース=続柄 値集合タイプ=値リスト 値集合ソース=本人;父;母;兄弟 のようにする。 (3) 続柄コンボボックスのイベントプロシージャに If 続柄 = "本人" Then 氏名.ControlSource = "本人.氏名" Else 氏名.ControlSource = "申請者.氏名" End If のように記述。 (続柄コンボボックスのプロパティ→「イベント」→「変更時」を「イベントプロシージャ」にし、右端の「...」をクリック) #プログラムでもあると言えばプログラムでもあるので、まぁ別にここでもいいと思いますけどね。
その他の回答 (3)
- tsukasa-12r
- ベストアンサー率65% (358/549)
>(2)のところなんですが、これだけですと実際にデータを入れることが出来ません。 というのは、テーブルに保存されないということでしょうか?それなら、コンボボックスのコントロールソースプロパティを「続柄」に設定しておけばいいと思います。 (1) と (2)、(3) の関連ですが、きっちり書いていなかったのはミスです。すみません。本人テーブル及び申請者テーブルを表示するフォームのレコードソースプロパティに (1) のクエリーを設定します。他にフォームを作成する必要はありません。
補足
なかなかうまくいきません。 上記の通り(1)で作成したクエリーをもとにフォームを作成しました。そのときできたフォームは「メイン・サブフォーム」になりました。そこへ「続柄」のコンボボックスを作成しました。(メインの方でいいのでしょうか?)その後(2)と(3)をやってみましたが、実際にデータシートに切り替えて、コンボボックスのリストから選択すると、ステータスバーに「このコントロールは”続柄”に連結しているので編集できません」とメッセージが出てきます。 やり方が間違っているのでしょうか?
- Gin_F
- ベストアンサー率63% (286/453)
> カテゴリーは、Officeアプリケーションの方がいいですね。 違った。。。 Microsoftアプリケーション ですね。。。
- Gin_F
- ベストアンサー率63% (286/453)
カテゴリーは、Officeアプリケーションの方がいいですね。 > 続柄が本人としたときには、本人テーブルよりデータを表示させ、 番号フィールドで、判断できるのかな? フォームの続柄を入力するコントロールの更新後イベントを使えばいいと 思います。 If Me!続柄 = "本人" Then Me!氏名 = DLookup("[氏名]","[本人テーブル]","[番号]=" & Me!番号) Me!住所 = DLookup("[住所]","[本人テーブル]","[番号]=" & Me!番号) Me!電話番号 = DLookup("[電話番号]","[本人テーブル]","[番号]=" & Me!番号) End If
お礼
的外れな事を何度もいってすみませんでした。基本的な部分の間違いに気がつき、作り直したらきちんと「tsukasa-12r」さんのアドバイス通りできるようになりました。「tsukasa-12r」さんは何度もアドバイスしてくれたのに、のみこみが悪くてすみません。どうかこれからも嫌にならずに、何かあった際にはアドバイスお願いします。 本当に助かりました。ありがとうございました。
補足
スミマセンが、もう少し教えて頂きたいのですが。 (2)のところなんですが、これだけですと実際にデータを入れることが出来ません。何度も申し訳ありませんが、この際に必要なフォームは他に作成するのでしょうか?フォームは何を元にどの様に作成すればいいのかわかりません。(2)(3)の内容的には理解できましたが、他のつながりが理解できないのでもう少しお願いします。 ご迷惑をおかけしておりすみません。