• 締切済み

MSアクセスで、指定した月日が来るとデータ更新

こんにちわ。 お世話になっております。 MSアクセスで、指定した月日が来ると自動でデータ更新させる方法は有りますか。 たとえば、誕生日が来たら、自動で年齢が変わるとか、一月一日が来たら、自動で指定した項目のデータの値が1増えるといった事が出来ないでしょうか。 詳しい方ご教示頂ければ幸いです。 よろしくお願いいたします。

みんなの回答

  • layy
  • ベストアンサー率23% (292/1222)
回答No.2

誕生日が来たら、言い換えると、起動したときの日付が誕生日だったら、になります。 起動時マクロに何か更新系の仕掛けることはできると思います。誕生日を過ぎていたら、は工夫はいるでしょう。 起動したら、今日は〇月〇日です、と表示させる。フォームの上にシステム日付表示させる。そんなところから考える。その日2回目の起動では、今日は・・は表示しない。 起動時マクロで あるテーブル内の更新日付の日付と起動時のシステム日付が違うとテーブル更新マクロ実行、更新日付を更新。再度起動してもスルーするだけ。 そんな感じで。

bamboogreen
質問者

お礼

こんにちわ。 ご回答有難うございます。 >起動時マクロで あるテーブル内の更新日付の日付と起動時のシステム日付が違うとテーブル更新マクロ実行、更新日付を更新。再度起動してもスルーするだけ。 そんな感じで。 上記で頂いた回答が少し近いような気がします。 もっと、勉強を積み、やってみます。 有難うございます。

回答No.1

データベースでは、テーブルの値を自動で更新させるという考えるのではなく、 クエリで基準日とシステム日付を元に演算するという方法をとります。 例えば、年齢なら、クエリに下記の演算フィールドを作製します。 年齢: DateDiff("yyyy", 生年月日, Date())+(Format(生年月日,"mmdd")>Format(Date(),"mmdd")) 「一月一日が来たら、自動で指定した項目のデータの値が1増える」なら、基準となる日付を格納するフィールドを用意して、例えば、フィールド名を 基準日 とすると、 経過年: DateDiff("yyyy", 基準日, Date())

bamboogreen
質問者

お礼

こんにちわ。 ご回答有難うございます。 テーブルの値を動かす事は出来ないのですね。 クエリに新しいフィールドを作って、演算フィールドで出した値プラス1を表示という形でやってみようと思います。

関連するQ&A