2017-05-11 3 views
0

Microsoft Access 2010のSharePoint Webページに公開するWebフォームを設計しています。コンボボックスを使用してチーム名を選択するフォームがあります。そのチーム名に対応するチームIDを従業員テーブルに入力する必要があります。これは私がこれまで持っているものです。Access Sqlの挿入サブクエリが機能しない

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])); 

それは

クエリの入力は少なくとも1つのテーブルまたはクエリを含んでいなければならないと言って私にエラーを与えます。

これを修正するにはどうすればよいですか?

答えて

0

VALUES句を使用してハードコード値を指定するか、またはSELECTステートメントを使用して挿入されるものを生成することができます。ここでは2つを組み合わせています。代わりに:あなたはSELECTでEmployeeテーブルを必要としないとき

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]; 

少し無関係では、なぜあなたは、従業員やチームに参加し交差していますか?

これは、はるかに高速に同等と非常にする必要があります:

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]; 
+0

素晴らしい、完璧に働いています!ありがとうございました! – aashir272

関連する問題