元々記載していたものが解決したため、別の投稿に変更致します。スミマセン・・・
現在、見積のメインフォームに、サブフォームの計算結果を引っ張ってきているのですが
テーブルに保存したく、下記コードを使っています。
If Me.小計 = Me.txt小計 Then
Else
Me.小計 = Me.txt小計
End If
これについてはうまくいくのですが、パーセンテージ表示のものだけうまくいきません。
何か特別な処理が必要になりますでしょうか。
If Me.利益率 = Me.txt利益率 Then
Else
Me.利益率 = Me.txt利益率
End If
パーセンテージ表示はどのように実現してますか。
書式プロパティに 0% というような感じで設定してますか。
ありがとうございます。現在「パーセント」としていました。変更して実験してみます!
同じく、パーセンテージに関わるのですが
チェックした全てのレコードに利益率を反映させたいです。
下記更新クエリを試すと、チェックした全てのレコードではなく1つのレコードの計算結果が、すべてに反映されます。
どのように修正すれば1件ずつ計算結果がでるようになりますでしょうか。
クエリでフォームを参照すると、表示されているレコードの値あるいは計算値を参照します。
クエリ内で利益率を計算するようにしてください。
パーセンテージ表示はうまくいきました。ありがとうございました。
>クエリ内で利益率を計算
下記に修正してみましたが、結果は変わらず1件の結果が他のものに反映されます…
勘違いしていますか?解決法はありますでしょうか。
Q_見積明細.利益率 = [Forms]![F_見積作成]![txt利益率反映],
というようにフォームを参照するのではなく、クエリ内のフィールドの値を利用して利益率を計算するようにしてください。ご確認ありがとうございます。ご指摘の部分が、非連結のテキストボックスになっており、クエリ内に反映できない状況です。この部分はメインフォームで、その他はサブフォームになっています。
ヒントをいただいているのに、質問ばかりで申し訳ありません。
すみません。解決しました。
具体的には、2個のクエリを使い、ご指摘の部分のみ1個目のクエリで変更。
2個目のクエリでそれ以外を変更し、うまくいきました。
ありがとうございました。
YESのデータが50件エクセル行みたいなイメージであるとします。1件目の先頭データ行に移動すると、フォーカスがあたり編集出来るっぽい状態になるかもしれない。そこで、更新クエリをすると、1件目の結果が反映。次の行に移動して、2件目の結果を反映。…1件ずつの結果を50回更新クエリする感じでしょうか?
ありがとうございます。
一旦該当のテキストボックスから数値を変数化して、クエリの部分をVBAにして、繰り返しさせるようなイメージでしょうか…
更新ボタンを押したら、
以下、VBA
新データの先頭レコードに移動
旧データの非連結テキストボックス(事前準備)に新データのIDを代入
旧データを非連結テキストボックスとクエリ(事前準備)で絞り込み
旧データの利益率フィールドに新しい利益率を代入
新データの次行に移動
の繰り返しが出来れば、どうだろうという感じです。