Microsoft Access 掲示板

非連結テキストボックスデータの取り込み / 7

8 コメント
views
4 フォロー
7
hiroton 2020/10/21 (水) 10:17:34 989d9@f966d

次月にTODOを持ち越した際、別のTODOが追い越す可能性はないため、年月を変更する際はリセット(リセットボタンを押す)してから変更する予定です。

「年月を変更する際は~変更する」だと、それ以外の場合は変更したくないということですよね?データはどこかに記録しておかないと消えてしまいます。データの記録が必要ならやはりテーブルを持つべきでしょう

システム上で1つだけあればいいデータを保持したいのならたとえば「TsystemProperty」というテーブルを作って
name(テキスト型・主キー)
num(数値型)

namenum
月TODO開始年2020
月TODO開始月10

とすれば、フォーム上からなら

=DLookup("num","TsystemProperty","name='月TODO開始年'")
=DLookup("num","TsystemProperty","name='月TODO開始月'")

の形で参照することができます。

非連結のコントロールで読み込み、変更もしたいならVBAでフォームの読み込み時にデータの読み込み、各コントロールの更新後処理でテーブルのデータ更新を行えば実現できます

Private Sub Form_Load()
    Me!年 = DLookup("num", "TsystemProperty", "name='月TODO開始年'")
    Me!月 = DLookup("num", "TsystemProperty", "name='月TODO開始月'")
End Sub

Private Sub 年_AfterUpdate()
    CurrentDb.Execute "UPDATE TsystemProperty SET num = " & Nz(Me!年,"NULL") & " WHERE name = '月TODO開始年'"
End Sub

Private Sub 月_AfterUpdate()
    CurrentDb.Execute "UPDATE TsystemProperty SET num = " & Nz(Me!月,"NULL") & " WHERE name = '月TODO開始月'"
End Sub
通報 ...