Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9255 / 9994 ←次へ | 前へ→

【3880】Re:コンボボックスの連携がうまくいきません
回答  クロ  - 04/11/22(月) 10:50 -

引用なし
パスワード
   >SELECT 社員ID, 社員名 FROM 社員マスタ WHERE 部署ID = Forms!フォームA!cmb部署
>と修正したらうまく行きました。フォームA上のコンボボックスの名前が「cmb
>部署」としているからではないかと考えています。

仰るとおりです。申し訳ないm(__)m
しかも、SELECT のスペル間違えているし...(鬱

>これらの結果を踏まえ、見積もり書に入力できるよう作成しているのですが、
>入力はできるのですが、新規レコードに今までと違う部署名を選択すると
>今までの担当者名が見えなくなってしまいます。
>(例えば、「営業1課 佐藤」を作成したレコードの次に、「営業2課 鈴木」を
>入力すると、「営業1課 佐藤」→「営業1課    」となってしまいます)。
>見積もり書のテーブルには「営業1課 佐藤」の記録は残っているので、フォーム
>上での表示の問題だと思うのですが、よい解決策はないものでしょうか?

この現象はコンボの値集合ソースの1列目以外をコンボに表示すると
起きます。
※この表示方法も私的には特殊と思っています。実際は数値型の社員IDに対して
 テキスト型の社員名を表示しているわけですから...

cmb担当者に対してRequery行わなければ件の絞り込みはできませんし、行うと
この現象が起きることになります。
現状のままで回避する方法は私的には思いつきません。

1つは案としては
現在入力されているフォームのレコードソースはテーブル(テーブルAとします)と
なっていると思います。このレコードソースを以下のように変更して

SELECT テーブルA.*, 社員マスタ.社員名
FROM 社員マスタ RIGHT JOIN テーブルA ON 社員マスタ.社員ID=テーブルA.社員ID;

して、テーブルAの社員IDと結合した社員名を表示できるようにします。

cmb担当者のプロパティで
列幅を0.5cm;2.54cm
としてcmb担当者には「ID」を表示するようにします。
cmb担当者の隣にテキストボックスを配置し、コントロールソースを「社員名」に
します。このテキストボックスのプロパティの「使用可能」を「いいえ」として
「編集ロック」を「はい」にしておけば弄られることはないと思います。

如何でしょうか?
625 hits

【3872】コンボボックスの連携がうまくいきません なべなべ 04/11/18(木) 21:37 質問
【3874】Re:コンボボックスの連携がうまくいきません クロ 04/11/19(金) 9:21 回答
【3876】Re:コンボボックスの連携がうまくいきません なべなべ 04/11/19(金) 21:58 質問
【3877】Re:コンボボックスの連携がうまくいきません クロ 04/11/19(金) 23:26 回答
【3879】Re:コンボボックスの連携がうまくいきません なべなべ 04/11/21(日) 21:13 質問
【3880】Re:コンボボックスの連携がうまくいきません クロ 04/11/22(月) 10:50 回答
【3883】Re:コンボボックスの連携がうまくいきません なべなべ 04/11/23(火) 5:43 お礼

9255 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078248
(SS)C-BOARD v3.8 is Free