我想INSERT
SELECT G.Results
FROM (SELECT IIf([Forms]![Login]![User_Name]=[C_Customers].[user_name]
And
[Forms]![Login]![Password]=[C_Customers].[Password]
,"Login Successful"
,"Login Failed") AS Results
FROM C_Customers) AS G
WHERE ((G.Results)="Login Successful");
[表格]![登录]![用户名]和[表格]![登录]![密码]来自要求您提供用户名和密码的表格。 IFF语句将您的用户输入与这些字段进行比较,并在表中查找匹配项。此查询成功。我想将INSERT
结果放入LOGIN_RESULTS表的LOGIN FIELD中。我试试这个:
INSERT INTO Login_results (login)
SELECT G.Results
FROM (SELECT IIf([Forms]![Login]![User_Name]=[C_Customers].[user_name]
And
[Forms]![Login]![Password]=[C_Customers].[Password],"Login Successful","Login Failed") AS Results FROM C_Customers) AS G
WHERE ((G.Results)="Login Successful");
但是,数据永远不会出现在表格中。 Login_Results
为空,只有一个字段Login
。
编辑: 这是随机的。我唯一改变的是改变的表的名称 ' Login_Results'到' Login_Status'来自'结果'到'状态'因为我更喜欢它突然它现在附加了。为什么?我不知道。
这是现在由于某种原因运行的代码。
Insert into Login_Status (Status)
SELECT G.Results
FROM (SELECT IIf([Forms]![Login]![User_Name]=C_Customers.user_name
And
[Forms]![Login]![Password]=C_Customers.Password
,"Login Successful"
,"Login Failed") AS Results
FROM C_Customers) AS G
WHERE (((G.Results)="Login Successful")) OR (((G.Results)="Loggin Failed"));
新线程主题:我改变了什么突然使代码运行?它从来没有提出过一个无法找到表格/字段的信息。错误,所以我不明白为什么目标字段/名称的更改会起作用。
答案 0 :(得分:0)
您无法在IIf function
我仍然无法弄清楚你要在表中保存的内容 - 没有任何登录成功插入的客户信息。但也许你只是在尝试一个概念验证
我还认为你的(G.Results)="Loggin Failed"
WHERE子句中有拼写错误 - 应该是Login Failed
吗?
这可能会扭曲你的结果
在任何情况下,您都可以使用EVAL
尝试此示例INSERT INTO Login_Status (Status)
SELECT G.Results
FROM
(SELECT
IIf(EVAL(([Forms]![Login]![User_Name]=C_Customers.user_name) AND ([Forms]![Login]![Password]=C_Customers.Password)),
"Login Successful", "Login Failed")
AS Results
FROM C_Customers) AS G
WHERE (G.Results="Login Successful") OR (G.Results="Login Failed");