• ベストアンサー

Accessのフォームで必須入力など

お世話になってます。 Access2003を使って、簡単な入力フォームを作っています。 そこで、A・Bというフィールドが存在するとして、Aはコンボボックスのフィールドで、「パターン1」と選択すると、Bのフィールドは選択はできずに、「パターン2」と選択すると、Bのフィールドが選択できるようにするのには、どのような設定が必要になるのでしょうか? どうぞ、よろしくお願いいたします。

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

  • ベストアンサー
  • skink
  • ベストアンサー率38% (7/18)
回答No.1

こんにちは。 こんな感じですかね? Private Sub Combo1_Click() If Combo1.Text = "パターン1" Then Combo2.Enabled = False Else Combo2.Enabled = True End If End Sub

hazzy_funky
質問者

補足

早々のご回答感謝いたします。 Aのコンボボックスで「パターン1」を選択し、Bのフィールドに移って、 Bのコンボボックスから選択しようとすると、下記のようなエラーが表示されてました。 --- コンパイルエラー: メソッドまたはデータメンバが見つかりません --- Combo1.Textの「.Text」箇所が選択された状態でした。 どうやれば回避できるのでしょうか。 宜しくお願いいたします。

その他の回答 (5)

noname#79209
noname#79209
回答No.6

#5です。ゴメンナサイ、「コンパイルエラー」と補足されていたんですね。 コンボBの名前が微妙に違っているか、逆に Me.コンボB.Enabled = Not (Me.コンボA.Text = "パターン1") の「Me.コンボB.Enabled」のコンボBの記述が微妙に異なるのでは? 実験してみましたら、上記のどちらのパターンでも、 --- コンパイルエラー: メソッドまたはデータメンバが見つかりません --- のエラーが生じました。

noname#79209
noname#79209
回答No.5

Access2002ユーザーですが、1050YENさんのやり方で何のエラーも起きませんでした。 何か別のところに原因があるように思います。 エラーコードは表示されてますか?

回答No.4

私が書いたサンプルは 「コンボA」の「更新後処理イベント」です。 >Aのコンボボックスで「パターン1」を選択し、Bのフィールドに移って、Bのコンボボックスから選択しようとすると、下記のようなエラーが表示されてました。 エラーがコンボBの、何かのイベントで起きているエラーなので、このままでは推測不可能です。 >Combo1.Textの「.Text」箇所が選択された状態でした。 発生している関数全体を(どうしても見せたくない部分は抜粋して)見せてもらえませんか?

hazzy_funky
質問者

補足

ご返信ありがとうございます。 >発生している関数全体を(どうしても見せたくない部分は抜粋して)見せてもらえませんか? に関しましては、教えていただいたものを、そのまま貼り付けたのですが・・・ 素人ですみません...。

回答No.3

逆でした。。。 >Me.コンボB.Enabled = (Me.コンボA.Text = "パターン1") Me.コンボB.Enabled = Not (Me.コンボA.Text = "パターン1")

hazzy_funky
質問者

補足

Aのコンボボックスで「パターン1」を選択し、Bのフィールドに移って、 Bのコンボボックスから選択しようとすると、下記のようなエラーが表示されてました。 --- コンパイルエラー: メソッドまたはデータメンバが見つかりません --- Combo1.Textの「.Text」箇所が選択された状態でした。 どうやれば回避できるのでしょうか。 宜しくお願いいたします。

回答No.2

Public Sub コンボA_AfterUpdate()   Me.コンボB.Enabled = (Me.コンボA.Text = "パターン1") End Sub