- ベストアンサー
Accessのフォームで必須入力など
お世話になってます。 Access2003を使って、簡単な入力フォームを作っています。 そこで、A・Bというフィールドが存在するとして、Aはコンボボックスのフィールドで、「パターン1」と選択すると、Bのフィールドは選択はできずに、「パターン2」と選択すると、Bのフィールドが選択できるようにするのには、どのような設定が必要になるのでしょうか? どうぞ、よろしくお願いいたします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 こんな感じですかね? Private Sub Combo1_Click() If Combo1.Text = "パターン1" Then Combo2.Enabled = False Else Combo2.Enabled = True End If End Sub
その他の回答 (5)
#5です。ゴメンナサイ、「コンパイルエラー」と補足されていたんですね。 コンボBの名前が微妙に違っているか、逆に Me.コンボB.Enabled = Not (Me.コンボA.Text = "パターン1") の「Me.コンボB.Enabled」のコンボBの記述が微妙に異なるのでは? 実験してみましたら、上記のどちらのパターンでも、 --- コンパイルエラー: メソッドまたはデータメンバが見つかりません --- のエラーが生じました。
Access2002ユーザーですが、1050YENさんのやり方で何のエラーも起きませんでした。 何か別のところに原因があるように思います。 エラーコードは表示されてますか?
- 1050 円(@1050YEN)
- ベストアンサー率69% (477/687)
私が書いたサンプルは 「コンボA」の「更新後処理イベント」です。 >Aのコンボボックスで「パターン1」を選択し、Bのフィールドに移って、Bのコンボボックスから選択しようとすると、下記のようなエラーが表示されてました。 エラーがコンボBの、何かのイベントで起きているエラーなので、このままでは推測不可能です。 >Combo1.Textの「.Text」箇所が選択された状態でした。 発生している関数全体を(どうしても見せたくない部分は抜粋して)見せてもらえませんか?
補足
ご返信ありがとうございます。 >発生している関数全体を(どうしても見せたくない部分は抜粋して)見せてもらえませんか? に関しましては、教えていただいたものを、そのまま貼り付けたのですが・・・ 素人ですみません...。
- 1050 円(@1050YEN)
- ベストアンサー率69% (477/687)
逆でした。。。 >Me.コンボB.Enabled = (Me.コンボA.Text = "パターン1") Me.コンボB.Enabled = Not (Me.コンボA.Text = "パターン1")
補足
Aのコンボボックスで「パターン1」を選択し、Bのフィールドに移って、 Bのコンボボックスから選択しようとすると、下記のようなエラーが表示されてました。 --- コンパイルエラー: メソッドまたはデータメンバが見つかりません --- Combo1.Textの「.Text」箇所が選択された状態でした。 どうやれば回避できるのでしょうか。 宜しくお願いいたします。
- 1050 円(@1050YEN)
- ベストアンサー率69% (477/687)
Public Sub コンボA_AfterUpdate() Me.コンボB.Enabled = (Me.コンボA.Text = "パターン1") End Sub
補足
早々のご回答感謝いたします。 Aのコンボボックスで「パターン1」を選択し、Bのフィールドに移って、 Bのコンボボックスから選択しようとすると、下記のようなエラーが表示されてました。 --- コンパイルエラー: メソッドまたはデータメンバが見つかりません --- Combo1.Textの「.Text」箇所が選択された状態でした。 どうやれば回避できるのでしょうか。 宜しくお願いいたします。