実現したいこと
取引先フォームでテキストボックスにある「人件費レート」という数値を更新したときだけ、追加クエリによる保存を行いたいのですが更新履歴テーブルに表示される更新日が一つ前に保存した時間で表示されてしまいます。
どのように変更すればテキストボックスにある指定されたデータが変更されたとき、更新履歴に更新後のデータが保存できるのでしょうか?
発生している問題・分からないこと
人件費レートも更新前のデータが更新履歴テーブルに表示されており、更新後のデータが抽出できない状況です。
取引先フォームにはいくつかのフォームがあり「人件費レート」というレコードをテキストボックスとして表示させ、このテキストボックスが更新された時だけ更新履歴テーブルにデータを保存したいです。
<具体例>
取引先フォームにて
得意先ID 1 得意先名 ねずみ 人件費レート 0.1 更新日 2024/03/26 16:53:38
というデータがあります。こちらを
得意先ID 1 得意先名 ねずみ2 人件費レート 0.6 更新日 2024/03/26 16:54:00
に変更しました。しかし、履歴に残るのは
履歴ID 1 得意先ID 1 得意先名 ねずみ 人件費レート 0.1 更新日 2024/03/26 16:53:38
こちらの更新前のデータになってしまいます。
該当のソースコード
[選択の種類]「テキストボックス」 更新前処理 埋め込みマクロ 値の代入 アイテム = [更新日] 式 = Now() 更新後処理 埋め込みマクロ メッセージボックス メッセージの表示 いいえ クエリを開く 更新クエリ
試したこと・調べたこと
上記の詳細・結果
https://hamachan.info/win7/access/rireki1.html
・上記のサイトを参考に[選択の種類]が[フォーム]になっているときはうまく実行することができ更新後のデータが履歴に保存されていました。
・[選択の種類]を[テキストボックス]に変え上記のコードを入れて実行すると更新前のデータで保存されてしまいます。
・更新前処理に更新後処理のマクロを入れてみたが、変化なし
補足
Microsoft Access 2021(.accdb)
取引先
得意先ID(主キー) 得意先名 人件費レート 更新日
更新履歴
履歴ID(主キー 自動による数値) 得意先ID 得意先名 人件費レート 更新日
更新クエリ
フィールド 得意先ID(主キー) 得意先名 人件費レート 更新日
テーブル 取引先 取引先 取引先 取引先
レコードの追加 得意先ID(主キー) 得意先名 人件費レート 更新日
抽出条件 [forms]![取引先リスト]![得意先ID]
追加先 更新履歴
0 コメント