【发布时间】:2009-07-13 14:15:28
【问题描述】:
可能重复:
Query Syntax error
我想使用下面的命令插入值
DoCmd.RunSQL = "insert into tblContract(
Empid,
Start1,
Finish1,
Store1,
Start2,
Finish2,
Store2)
values ('" & Me.txtEmpNo.Value & "','"
& Me.txtContSunStart1.Value & "', '"
& Me.txtContSunFinish1.Value & "','"
& Me.txtContSunStore1.Value & "','"
& Me.txtContSunStart2.Value & "', '"
& Me.txtContSunFinish2.Value & "','"
& Me.txtContSunStore2.Value & "')"
但是在插入时,它应该插入到同一个表中列(testid)的值是另一个表的max(testid)的行中。
此查询不起作用:
SQL = "
INSERT INTO tblContract (Empid,testid, Start1, Finish1, Store1, Start2, Finish2, Store2)
SELECT " & Me.txtEmpNo.Value & "', MAX(testid), '" &
Me.txtContSunStart1.Value & "', '" & Me.txtContSunFinish1.Value & "','" &
Me.txtContSunStore1.Value & "','" & Me.txtContSunStart2.Value & "', '" &
Me.txtContSunFinish2.Value & "','" & Me.txtContSunStore2.Value & "' " &
"FROM tbltesting'"
我正在为此寻找替代方案。在 ms 访问中它给出了编译错误
【问题讨论】:
-
你必须澄清一下你的意思......你不能在现有行中插入任何东西,那将是一个更新。
-
您可能还想查看存储过程或参数化查询,这将非常不安全,尤其是在面向公众的情况下,它很容易受到 sql 注入攻击。
-
.Value 属性应该从您的 SQL 中删除。