Access Sql插入子查询不工作
我正在设计一个web表单,以便在Microsoft Access 2010中发布到SharePoint网页。我有一个表单,它使用一个组合框来选择一个团队名称。我需要在employee表中输入与该团队名称对应的团队id。这就是我到目前为止所做的:Access Sql插入子查询不工作,sql,ms-access,Sql,Ms Access,我正在设计一个web表单,以便在Microsoft Access 2010中发布到SharePoint网页。我有一个表单,它使用一个组合框来选择一个团队名称。我需要在employee表中输入与该团队名称对应的团队id。这就是我到目前为止所做的: INSERT INTO Employee ( Employee_Name, Team_ID ) VALUES ([Forms]![Add Employee]![txtName], (SELECT MAX(Team.Team_ID) FROM Team,
INSERT INTO Employee ( Employee_Name, Team_ID )
VALUES ([Forms]![Add Employee]![txtName], (SELECT MAX(Team.Team_ID)
FROM Team, Employee
WHERE [Team]![Team_Name]=[Forms]![Add Employee]![cmbxTeam]));
这给了我一个错误的说法
查询输入必须至少包含一个表或查询
如何修复此问题?您可以使用
VALUES
子句指定硬编码的值,也可以使用SELECT
语句生成要插入的内容。在这里,您将两者结合起来。相反:
INSERT INTO Employee ( Employee_Name, Team_ID )
SELECT
[Forms]![Add Employee]![txtName],
MAX(Team.Team_ID)
FROM Team, Employee
WHERE [Team]![Team_Name]=[Forms]![Add Employee]![cmbxTeam];
稍微不相关的是,为什么在SELECT中不需要Employee表的情况下交叉加入员工和团队
这应该是等效的,并且要快得多:
INSERT INTO Employee ( Employee_Name, Team_ID )
SELECT
[Forms]![Add Employee]![txtName],
MAX(Team.Team_ID)
FROM Team
WHERE [Team]![Team_Name] = [Forms]![Add Employee]![cmbxTeam];