【发布时间】:2017-11-09 13:15:51
【问题描述】:
我有 2 张桌子:
Tbl_Task - 拥有一个进程的所有任务(TaskNum 是唯一的。TaskName 是我要写入 Tbl_Proc 的内容)
Tbl_Proc - 将为客户保存每个任务的状态
创建新客户时,我使用关闭事件时的表单将每个任务从 Tbl_Task 写入 Tbl_Proc。我正在使用表单中的客户名称来完成 Tbl_Proc 中的记录。
我的想法是使用一个整数来增加 TaskNum 并将任务编号 TaskName 分配给 Tbl_Proc[ProcTaskName]。然后遍历所有任务编号。如您所见,我一直坚持使用整数变量。
这就是我所拥有的。我可以成功写入公司名称,但无法获取 ProcTaskName:
Private Sub Form_Close()
On Error GoTo Err_Form_Close
Dim strCompany As String
Dim sqls As String
Dim x As Integer
strCompany = Me![CoName]
'MsgBox strCompany
x = 1
sqls = "INSERT INTO Tbl_Proc(ProcCo, ProcTaskName)" & _
"VALUES ('" & strCompany & "', SELECT TaskName FROM Tbl_Task WHERE TaskNum=""" & x & """)"
DoCmd.RunSQL sqls
'This works - "VALUES ('" & strCompany & "', 'cat')"
Exit_Form_Close:
Exit Sub
Err_Form_Close:
MsgBox Err.Description
Resume Exit_Form_Close
End Sub
【问题讨论】:
-
你想做什么?
-
SQL Injection alert - 您应该不将您的 SQL 语句连接在一起 - 使用 参数化查询 来避免 SQL 注入 - 查看 Little Bobby Tables
标签: sql ms-access vba ms-access-2013