Microsoft Accessの話。
昨日まで動いていたのに、今日はおかしい。
Access内のテーブルに連結したフォームで、フィールド計をコントロールソースにしたをテキストボックスをフッターに配置していた。
2つのテキストボックスは別のフィールドの合計を設定していて、差があれば、入力ミスと判断し修正を求めるようにしていた。
このコードで10年以上、使っていたが、急に差が計算されないで、スルーするようになってしまった。
連結フォームなので、差の判定をする前に、
Docmd.RunCommand acCmdSaveRecord
して、テキストボックは
Me.txtGoukei.Requery
して、比較したのだが、どうも両方のテキストボックスが「0」になっている様子。
結局、テキストボックスは使わないで、リンクテーブルの対象フィールドをDsumして計算するように修正した。こうするとチャント差が計算できる。
原因は良くわからないのだが、テキストボックスのコントロールソースになっている合計する部分が別スレッドで動作していて、コード側で参照する時、計算されていないのではないかと思った。
この手の比較計算はよく使っているので、プログラムを直さなければならない、、、
昨日まで動いていたのに、今日はおかしい。
Access内のテーブルに連結したフォームで、フィールド計をコントロールソースにしたをテキストボックスをフッターに配置していた。
2つのテキストボックスは別のフィールドの合計を設定していて、差があれば、入力ミスと判断し修正を求めるようにしていた。
このコードで10年以上、使っていたが、急に差が計算されないで、スルーするようになってしまった。
連結フォームなので、差の判定をする前に、
Docmd.RunCommand acCmdSaveRecord
して、テキストボックは
Me.txtGoukei.Requery
して、比較したのだが、どうも両方のテキストボックスが「0」になっている様子。
結局、テキストボックスは使わないで、リンクテーブルの対象フィールドをDsumして計算するように修正した。こうするとチャント差が計算できる。
原因は良くわからないのだが、テキストボックスのコントロールソースになっている合計する部分が別スレッドで動作していて、コード側で参照する時、計算されていないのではないかと思った。
この手の比較計算はよく使っているので、プログラムを直さなければならない、、、