Access 表Allowances_3_15_18
有 5 列。我想将表单中的计算字段插入表EmployeeSalary)
中的列Amount
之一。
每个值都将与表单和表格中的相关主 ID 链接,它们是相同的JobID
。我如何在 VBA 中做到这一点?
我目前已经afterUpdate
在属性表中的事件中完成了它。
Private Sub ProjectedDollarAmount_AfterUpdate()
Dim strSQL As String
Dim ProjectedDollarAmount As Currency
strSQL = "INSERT INTO [Allowances_3_15_18] ([Amount]) VALUES (" & _
PrepareSQLNumber(Me.ProjectedDollarAmount) & ") WHERE JobID = " & _
PrepareSQLNumber(Me.JobID) & ";"
Call ExecuteMyCommand(strSQL)
End Sub
您需要摆脱 SQL 串联并开始使用参数。
创建一个带有两个参数的查询,要插入的数量和 JobId。查询的 SQL 应该是这样的:
PARAMETERS [prmAmount] Currency, [prmJobId] Long;
UPDATE [Allowances_3_15_18] SET [Amount] = [prmAmount]
WHERE JobID = [prmJobId];
然后在代码中,简单地传递参数值并执行上面的查询:
Sub Add()
With CurrentDb().QueryDefs("qryName")
.Parameters("[prmAmount]").Value = PrepareSQLNumber(Me.ProjectedDollarAmount)
.Parameters("[prmJobId]").Value = PrepareSQLNumber(Me.JobID)
.Execute dbFailOnError
End With
End Sub
您需要将 更改qryName
为查询的实际名称。
您可以在此处阅读有关参数查询的更多信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句