メインフォームの「コメント」という名前のボタンを
クリックして、「コメント」という名前のフォーム
を開き、その中の「コメント」という名前の
テキストボックスに入力されているかの確認と
その処理。
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
お礼
早々のご回答大変ありがとうございました。おかげさまでうまくできました!またこれからもよろしくお願いします。本当にありがとうございました!!!