[英]Microsoft Access insert query
访问表Allowances_3_15_18
有5列。 我想将表格EmployeeSalary)
的计算字段插入表中的Amount
列之一。
每个值将与表单和表格中相同的JobID
链接到相关的主要ID。 如何在VBA中执行此操作?
我目前在属性表的afterUpdate
事件中完成了此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
更改为查询的实际名称。
您可以在此处阅读有关参数查询的更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.