-1

コンピューターの使用時間に基づいてコンピューターの価値を計算するフォーム/テーブル コンボを作成しています。

「購入価格」と「現在の価格」は両方とも 10 進変数として定義されます。残りは整数として定義されています。

フォームの「現在の価格」テキスト ボックスの OnValidate 領域に、

Monthcalc := "Current month" + (12-"Purchase month") + ( 12* ("Current year (20xx)" - "Purchase year (20xx)"));
"Current price" := "Purchase price" * POWER((1-0.025),Monthcalc)

しかし、フォームを実行して値を入力すると、現在の価格フィールドの値が「0」になります。これはなぜですか?

4

1 に答える 1

1

そのフィールドに手動で値を入力すると、 OnValidateがトリガーされます。

これが後ろにテーブルのないフォームであると仮定すると、データを入力する各フィールドのOnValidate / OnAfterValidateトリガーの後ろにこのコードを配置する必要が あります。

通常、コードをフォーム内の関数に入れ、これらすべての場所でこの関数を呼び出します。

データがテーブルにあり、行ごとに計算する必要がある場合、OnAfterGetRecordはこれが機能するトリガーの 1 つです。

于 2013-10-16T19:57:36.397 に答える