Access VBAについての質問です。
金額÷単価でテーブル内の再計算する処理を作成しました。
テーブル(db上)は無事に更新されました。
しかし、フォームの方では最初に計算されたものがそのまま表示されている状態です。
そこで、フォームの方でも更新されたらその値を表示する様(更新するよう)にしたいです。
現在、フォームのコントロールソースは以下のような式になっております。
ToHalfAdjust([工数計].1)
この式に、
更新されたらその[工数計]を表示させるように修正したいです。
ご協力をお願い致します。
補足として、再計算の処理のコードは以下です。
Dim strSql As String
k_ID As Integer
If Me.決裁 = True Then
strSql = ""
strSql = strSql & "UPDATE 見積もり SET "
If k_ID = 5 Then
strSql = strSql & " 確定決済 = true,"
strSql = strSql & " 工数計 = 金額 / 単価"
End If
strSql = strSql & " WHERE 番号 = '" & Me.番号 & "';"
Currentdb.Execute strSql
Else
(決済しない時の処理 以下略)
※追記
再計算処理に以下のコードを追加して動かしました。
Me.Refresh
Me.Requery
Me.Repaint
これらを上から一つずつ
strSql = strSql & " 工数計 = 金額 / 単価"の下に追加して動かして見ました。
1回目
strSql = strSql & " 工数計 = 金額 / 単価"
Me.Refresh
2回目
strSql = strSql & " 工数計 = 金額 / 単価"
Me.Requery
3回目
strSql = strSql & " 工数計 = 金額 / 単価"
Me.Repaint
しかし、いずれもエラーと※フォームに表示されました。
※フォームは再計算する前のものが最初に表示されます。
例: 工数計が100の時
①データベースで工数計を100→1000に書き換える。
②再計算を実施する。
③データベース上では再計算により1000→100に書き換わるが、フォームの表示は100→エラーになる。(Me.Refresh等を入れる前は、データベース上で1000→100に変わってもフォームは1000のまま)
回答1件
あなたの回答
tips
プレビュー