- ベストアンサー
アクセス 抽出条件が一致したらフォームを開く
- フォームを開くときのイベントに、数値が一致した時に検索ボタンを使用可能にするコードを書きましたが、うまくいきませんでした。
- テキストボックスとコンボボックスの値が一致した場合、検索ボタンを使用可能にするコードを書きましたが、正しく動作しません。
- フォームを開くときに、数値の一致を確認して検索ボタンの使用可否を設定するコードを書きましたが、うまくいきませんでした。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
If (Me!当月の名前) = (Me!月) = True Then Me!24.Enabled = False Else Me!コマンド24.Enabled = True End If を If (CInt(当月の名前) = CInt(月)) = True Then コマンド24.Enabled = True Else コマンド24.Enabled = False End If でいかがでしょうか。真偽が逆でしたらそのようにしてください。 動かなかったらすいません。
その他の回答 (3)
#3です。 Me!24.Enabled = True は Me!コマンド24.Enabled = True の間違いでした、訂正いたします。
お礼
お忙しいところ、ご回答ありがとうございます! ご指摘いただいた箇所を訂正してやってみましたが、うまくいきませんでした^_^; #2の方の回答でやってみようと思います。 ありがとうございました!
Private Sub 月_AfterUpdate() If (Me!当月の名前) = (Me!月) Then Me!24.Enabled = True Else Me!コマンド24.Enabled = False End If End Sub このように書き直して実行してみてください。
- popesyu
- ベストアンサー率36% (1782/4883)
その「aとbの数値が一致した時に、検索ボタンを使用可能」にする仕様が意味不明なのですが、まぁそれは置いといて。 「検索ボタンどうも、うまくいきませんでした」というのはどういう意味なのでしょう。エラーが出るのか、数値が一致したらボタンはFalse、一致しなかったらTrueになっているということをさしているのでしょうか。 もし後者のことならコードを逆に書いているせいかと。
補足
わかりずらくてすみません。 まず、「月検索」フォームの「開く時」イベントに、以下のコードを書き、フォーム中にあるコマンドボタン「コマンド24」を使用不可の状態にしておきます。 Private Sub Form_Open(Cancel As Integer) Me!コマンド24.Enabled = False End Sub 尚、このフォームには、コマンドボタン「コマンド24」以外に、テキストボックス「当月の名前」(『コントロールソースに、=DatePart("m",Date())を設定』)と、コンボボックス「月」(『リスト値で、4,5,6,7,8,9を設定』)があります。 そして、「月」の「更新後処理」イベントに、以下のコードを書きました。 Private Sub 月_AfterUpdate() If (Me!当月の名前) = (Me!月) = True Then Me!24.Enabled = False Else Me!コマンド24.Enabled = True End If End Sub 「当月の名前」と「月」の数値が一致した時に、コマンド24が使用可能になる、という処理をしたいのです。 「当月の名前」が5で、「月」が5なら、コマンド24をクリックすることができるあ(=使用可能)、「当月の名前」が5で「月」が6なら、コマンド24は、ボタンが死んだ状態で、クリックできない。ということです。 どうも、うまくいかない・・・というのは、「当月の名前」に5を入れ、「月」に6を入れても、コマンド24がクリックできてしまいます。 本当は、死んだ状態でなければいけないのに・・・ コードの知識が乏しいので、間違ったコード式かもしれません。 また、コードを逆さに書いているとは?? ここに書いたコードがすべてです。 逆さなのでしょうか? お忙しいところ、すみません。 宜しくお願い致します。
お礼
すごいっ!!すごいです!!できました(涙) ありがとうございました!!