- 締切済み
Access2000のサブフォームで…
今、サブフォームにデータを入力する時に、コンボボックスを使ってリストから入力させたいと思っています。 それで、サブフォームにコンボAとコンボBを作成しました。コンボAで選択した項目を条件として、コンボBのリストとして使用する値を抽出したいのです。 コンボAの更新後処理でコンボBを再クエリさせるVBAを組んでみたのですが、エラーメッセージが出て実行されません。 サブフォームを単独で表示させている時にはこのVBAが実行されるのに、親フォーム内のサブフォーム上では動かなくなってしまうんです。 どのたか、解決策を教えてください。お願いします!!
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- vantage
- ベストアンサー率60% (310/514)
>サブフォームを単独で表示させている時にはこのVBAが実行される の時には、コンボBの値集合ソースであるクエリーの抽出条件のところに Forms![フォーム名]![コンボA] と記入してきちんと動作したと思います。 このフォームがサブフォームとして組み込まれた場合の参照は、 Forms![メインフォーム名]![サブフォームコントロール名].Form![コンボA] となるので、抽出条件にこのように記述するということです。 >クエリの抽出条件にそのままいれてしまって良いのでしょうか? メインフォーム名 = F_Search サブフォームコントロール名 = Sub_Res コンボAの名前 = cmb_A として、実際に記述するのは [Forms]![F_Search]![Sub_Res].[Form]![cmb_A] となるはずです。 ※ [ ]はAccessが勝手に付けてくれますよね。 では、頑張って下さい。
- vantage
- ベストアンサー率60% (310/514)
ありがちな間違いとして、コンボBの値集合ソースに設定してあるクエリーでの「コンボA」の値の参照の仕方をあやまっているというのが良くあります。 正しくは Forms![メインフォーム名]![サブフォームコントロール名].Form![コンボA] ですが、この箇所は大丈夫でしょうか? あと、「エラーメッセージ」の詳細も書いていただいた方が回答しやすいと思いますよ。
補足
どうも、条件の指定の仕方がまちがえているようです。 ところで、教えて頂いた条件式は、どこに入れれば良いのでしょうか?? クエリの抽出条件にそのままいれてしまって良いのでしょうか?? 何度もすみませんがよろしくお願いします。