Microsoft Access 掲示板

モジュールでカレントフォームのコントロールを使うには / 2

6 コメント
views
2

エラーの原因はskさんからの指摘通りだと思います。


入力フォームに日付フィールドがありそれを+-ボタンで加算しています。複数のフォームを同様にしてますので、コードを共通化したいと思い下記のコードをモジュールに記述しました。

上記の要件の場合、私は下記のようなFunctionを標準モジュールにおいて利用してます。

Function AddDt(ctDt As Control, reqNum As Long)
    
    If IsDate(ctDt.Value) = False Then  '対象コントロールの値が日付型ではない場合は抜け出す
        Exit Function
    End If

    ctDt.Value = DateAdd("d", reqNum, ctDt.Value)  '

End Function

+ボタンの「クリック時」プロパティに下記のように設定

=AddDt([日付テキストボックス], 1)

+ボタンの「クリック時」プロパティに下記のように設定

=AddDt([日付テキストボックス], -1)

これならフォームモジュールにコードを書く必要はないです。
もしフォームモジュールからCallしたいということなら

Private Sub DateAdd_Click()
    Call AddDt(Me.日付テキストボックス, 1)
End Sub
通報 ...