- ベストアンサー
アクセス2003で入力ありと空欄の判別の仕方
- アクセス2003で「メインフォーム」からコマンドボタン「コメント」をクリックすると、入力ありと空欄の判別を行いたいです。
- 入力があれば、「メインフォーム」上のコマンドボタン「コメント」の表示を「コメントあり」に変化させたいです。
- 入力がなければ(空欄なら)、閉じたときに、「メインフォーム」上のコマンドボタン「コメント」はそのまま「コメント」のままで変化なしにしたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
メインフォームの「コメント」という名前のボタンを クリックして、「コメント」という名前のフォーム を開き、その中の「コメント」という名前の テキストボックスに入力されているかの確認と その処理。 Private Sub コメント_Click() DoCmd.OpenForm ("コメント") If Not IsNull(Forms!コメント!コメント) Then Me!コメント.ForeColor = 16744703 Me!コメント.Caption = "コメント有り" End If End Sub 以上です。 なお、「コメント」という名前のフォームが 開かれたかを確認することも必要な場合は、 以下を標準モジュールに貼り付けてください。 Function IsLoaded(ByVal strFormName As String) As Boolean ' 指定したフォームがフォーム ビューまたはデータシート ビューで開かれている場合 True を返します。 Const conObjStateClosed = 0 Const conDesignView = 0 If SysCmd(acSysCmdGetObjectState, acForm, strFormName) <> conObjStateClosed Then If Forms(strFormName).CurrentView <> conDesignView Then IsLoaded = True End If End If End Function そして、先ほどのコードを以下に変更します。 Private Sub コメント_Click() DoCmd.OpenForm ("コメント") If IsLoaded("コメント") Then If Not IsNull(Forms!コメント!コメント) Then Me!コメント.ForeColor = 16744703 Me!コメント.Caption = "コメント有り" End If Else MsgBox("フォームが開かれていません") End If End Sub
お礼
早々のご回答大変ありがとうございました。おかげさまでうまくできました!またこれからもよろしくお願いします。本当にありがとうございました!!!