• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access2002 SP2を利用しています。)

Access2002 SP2を利用して、所属マスタと職員マスタを結合した際に職員が正しく表示されない問題の解決方法は?

このQ&Aのポイント
  • Access2002 SP2を利用して、所属マスタと職員マスタを結合し、フォームで選択した課に所属している職員を表示したいが、正しく表示されない問題が発生しています。
  • フォームで所属マスタの課を変更しても、職員マスタのコンボボックスで開いた職員が最初に所属マスタで選択した課の職員が表示されてしまいます。
  • 所属マスタの課を変更した際に職員マスタのコンボボックスを開いた際にそれに対応した職員が表示されるようにするには、どうしたら良いのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.5

#2です。 >SELECT DISTINCTROW 職員マスタ.職員CD, 職員マスタ.職員名 FROM 職員マスタ INNER JOIN 所属マスタ ON (職員マスタ.支社CD = 所属マスタ.支社CD) AND (職員マスタ.課CD = 所属マスタ.課CD) WHERE (((所属マスタ.課CD)=[Forms]![F_メニュー]![受付課CD])) ORDER BY 職員マスタ.職員CD;Forms!職員マスタ!Requery としてみましたが、「SQL ステートメントの後に文字が見つかりました」とメッセージが返ってきてしまいました。 >書き方がまずいのでしょうか・・・ すみません。私の書き方が悪かったです。 SELECT~はSQL文と言い、テーブルのデータを持ってくる際に使います。 私が#2で言った >所属マスタの登録・変更処理を行った最後に の「最後に」というのは質問文の >所属マスタで課を変更しても の「変更の処理の後(最後)に」ということです。 「フォームモジュール(VBA)に書いてみてください」ということです。

To-y_To-y
質問者

お礼

遅くなってしまい、申し訳ございません。 ご親切にありがとうございました。 時間がなく、まだ試しておりませんが、ご指導いただいた方法を試してみます。 本当にありがとうございます。

その他の回答 (5)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.6

> としてみましたが、「SQL ステートメントの後に文字が見つかりました」とメッセージが返ってきてしま> いました。 > 書き方がまずいのでしょうか・・・ SQLに書くのではなくて 所属マスタで課の更新後処理のVBAコードに Forms!職員マスタ!コンボボックス.Requery を記載してください。

To-y_To-y
質問者

お礼

遅くなってしまい、申し訳ございません。 ご親切にありがとうございました。 時間がなく、まだ試しておりませんが、ご指導いただいた方法を試してみます。 本当にありがとうございます。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.4

> 初心者なもので。おっしゃっている「所属マスタで課を変更後に職員マスタのコンボボックスを > Requeryしてみてください。」とは、どのようにすればよろしいのでしょうか。 具体的なコントロールの名前が分かりませんので Forms!職員マスタ!コンボボックス.Requery こんな感じです。

To-y_To-y
質問者

お礼

回答ありがとうございます。 SELECT DISTINCTROW 職員マスタ.職員CD, 職員マスタ.職員名 FROM 職員マスタ INNER JOIN 所属マスタ ON (職員マスタ.支社CD = 所属マスタ.支社CD) AND (職員マスタ.課CD = 所属マスタ.課CD) WHERE (((所属マスタ.課CD)=[Forms]![F_メニュー]![受付課CD])) ORDER BY 職員マスタ.職員CD;Forms!職員マスタ!Requery としてみましたが、「SQL ステートメントの後に文字が見つかりました」とメッセージが返ってきてしまいました。 書き方がまずいのでしょうか・・・

  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.3

#2です。 >所属マスタで課を変更しても、職員マスタのコンボボックスで開いた職員が っとありますが、この二つはフォームですか? フォームであった場合、それは同時期に開いているのですか? もし同時期に開いている場合、所属マスタの登録・変更処理を行った最後に #1様の仰るように >Requery を Forms!職員マスタ!Requery として一文を書いてやるか、もしくは Forms!職員マスタ!Refresh の一文を加えて下さい。

To-y_To-y
質問者

お礼

回答ありがとうございます。 SELECT DISTINCTROW 職員マスタ.職員CD, 職員マスタ.職員名 FROM 職員マスタ INNER JOIN 所属マスタ ON (職員マスタ.支社CD = 所属マスタ.支社CD) AND (職員マスタ.課CD = 所属マスタ.課CD) WHERE (((所属マスタ.課CD)=[Forms]![F_メニュー]![受付課CD])) ORDER BY 職員マスタ.職員CD;Forms!職員マスタ!Requery としてみましたが、「SQL ステートメントの後に文字が見つかりました」とメッセージが返ってきてしまいました。 書き方がまずいのでしょうか・・・

  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.2

コンボボックスのコントロールソースに引っ張ってきた一覧を挿入してるんですよね? それはどのタイミングですか? ちょっとソースがないとわかりにくいです。 ちなみに、フォームモジュールで Me.Refresh この一文をコントロールソースに値を挿入した後に入れてやっても変わりませんか?

To-y_To-y
質問者

お礼

早速の回答ありがとうございました。 初心者というか、素人なもので、質問の仕方が不十分で申し訳ございません。 因みに職員マスタのコンボボックスのプロパティで、値集合ソースに下記を書き込んでおります。 SELECT DISTINCTROW 職員マスタ.職員CD, 職員マスタ.職員名 FROM 職員マスタ INNER JOIN 所属マスタ ON (職員マスタ.支社CD = 所属マスタ.支社CD) AND (職員マスタ.課CD = 所属マスタ.課CD) WHERE (((所属マスタ.課CD)=[Forms]![F_メニュー]![受付課CD])) ORDER BY 職員マスタ.職員CD;

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

所属マスタで課を変更後に職員マスタのコンボボックスをRequeryしてみてください。

To-y_To-y
質問者

お礼

早速の回答ありがとうございました。 初心者なもので。おっしゃっている「所属マスタで課を変更後に職員マスタのコンボボックスをRequeryしてみてください。」とは、どのようにすればよろしいのでしょうか。 ご教授いただければ幸いです。

関連するQ&A