フォーム F入力 のクラスモジュールにて処理しているとして、
・Forms![フォーム名] は、Me で代用可能
・レコードセットの、Fieldオブジェクトは、
Fieldsコレクションに対し、名称を指定して参照可能
ですので
Dim dbk As Database, rstk As Recordset
Dim varValue As Variant
'工事科目 に フィールド名に合致する値が入っていない場合を考慮
varValue = Me.工事科目
If varValue = 5412 Or varValue = 5431 Or varValue = 5441 Or varValue = 5453 Or varValue = 5456 Then
Set dbk = CurrentDb
Set rstk = dbk.OpenRecordset("T工事", dbOpenDynaset)
rstk.AddNew
rstk.Fields(varValue).Value = Me.金額
rstk.Update
End If
こんな風にできるかと。
でも。。
Accessのいいところは、連結フォームが手軽にできる事。
VBAにて、レコードセットを使う必要性は 提示された情報からのみでは 無いように思います。