あるフィールドAに数値を入力します
その数値にランダムで5~10を加算した数値をフィールドBに格納したいです
VBAで、フィールドAに入力(あるいは変更)があったときにフィールドBに計算結果を格納する方法が一般的ですか?
通報 ...
あるフィールドAに数値を入力します
その数値にランダムで5~10を加算した数値をフィールドBに格納したいです
VBAで、フィールドAに入力(あるいは変更)があったときにフィールドBに計算結果を格納する方法が一般的ですか?
目的次第だと思います。
入力した直後に結果を格納したいのなら、テーブルと連結した入力フォームを作成して、フィールドAと連結したテキストボックスの更新後処理のイベントでフィールドBに計算結果を格納することになります。
フィールドA→テキストボックス→フィールドBとするのですか?
フィールドA→フィールドBではなにか不具合がありますか?
テーブルを開いてそこで直接更新しても、テーブルやテーブルのフィールドではイベントが発生しないので、自動でフィールドBに計算結果を代入することはできません。
フィールドAを更新したときに自動でフィールドBも更新するには、テーブルと連結した入力フォームを作成する必要があります。
フォーム上では、フィールドと連結したテキストボックスで入力することになります。
テキストボックスの更新後処理イベントを使うことになります。
以上の説明で理解いただけたでしょうか。
不明な点があれば、具体的に質問してください。
テーブル イベントにデータ マクロを追加する
比較的新しい機能で、テーブルに直接機能を追加することはできますね。hirotonは使ったことありません。情報の少ない仕組みはそれだけで生産性が落ちるので
フォームを介しての実装はテンプレみたいなものなのでしょう。目的自体は単純なモノのように見えるので「フィールドA→フィールドB」で実装できているものがあるなら「不具合」はないと思いますよ
ちょっと調べてみたのですが、集計フィールドというので、フォームAにランダムで加算する、とういうのは運用的にはだめなのでしょうか?
集計フィールドで使える関数には制限があります。
「その数値にランダムで5~10を加算した数値」はどのように取得しているのですか。
Rnd関数を使っているのなら、集計フィールドでは使えません。
他にもDate関数とかNow関数のようにその時々で異なる値を返す関数は使用不可です。
「ランダムな数値」ということはその時々で異なる値を返すことになるので集計フィールドでは無理だと思います。