質問: True Exit Sub End If End If ```
回答: 入力項目はテキストボックスですよね。 そもそも.value値がNullになることはないような・・・ (AccessVBAは詳しくないのでお門違いだったらスミマセン) 必須チェックしたいなら、 CtinputItemrl.Value == "" または Len(CtinputItemrl.Value) == 0 じゃないでしょうか。 また、テキストボックスだったら入力された内容は全てString型になるかと。 その上で内容が数値であればIsNumericでTrueになるし、日付であればIsDateでTrueになるんじゃないでしょうか。 と言うわけで、型チェックは↓の感じになるかと思います。 ``` ' 必須と数値チェックをしたい場合は、Tagに「Required Numeric」を設定する。 ' ※ここでは半角スペース区切りでの例としています。 Dim chkArr() As String Dim idx As Long For Each inputItem In Forms![フォーム1].Controls chkArr = Split(inputItem.Tag, " ") ' Tagを半角スペースで分割してループ For idx = Lbound(chkArr) To Ubound(chkArr) If chkArr(idx) = "Required" Then If IsNull(CtinputItemrl.Value) Then MsgBox "必須入力です", vbOKOnly inputItem.SetFocus Cancel = True Exit Sub End If End If If chkArr(idx) = "Numeric" Then If Not IsNumeric(CtinputItemrl.Value) Then MsgBox "数値以外入力できません。", vbOKOnly inputItem.SetFocus Cancel = True Exit Sub End If End If ' ほかにチェックしたい内容があれば続けてチェック内容を記載 Next Next ``` テキストエディタで書いた上に動作確認してないので動かなかったらすみません。