• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクセス2003で入力ありと空欄の判別の仕方?)

アクセス2003で入力ありと空欄の判別の仕方

このQ&Aのポイント
  • アクセス2003で「メインフォーム」からコマンドボタン「コメント」をクリックすると、入力ありと空欄の判別を行いたいです。
  • 入力があれば、「メインフォーム」上のコマンドボタン「コメント」の表示を「コメントあり」に変化させたいです。
  • 入力がなければ(空欄なら)、閉じたときに、「メインフォーム」上のコマンドボタン「コメント」はそのまま「コメント」のままで変化なしにしたいです。

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

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.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

ayanohina
質問者

お礼

早々のご回答大変ありがとうございました。おかげさまでうまくできました!またこれからもよろしくお願いします。本当にありがとうございました!!!

関連するQ&A