【发布时间】:2010-12-19 23:39:30
【问题描述】:
这不会产生语法错误,但会给出错误的参数错误:
SELECT left(
[aname],
IIF(instr([aname], " ") = 0 AND instr([aname], ",") = 0,
Len(FinalForgotten.aname),
IIF(instr([aname], ",") = 0,
InStr(1,[aname]," ")-1,
InStr(1,[aname],",")-1)))
& "," &
right(
[aname],
IIF(instr([aname], " " = 0 AND instr([aname], ",") = 0,
Len(FinalForgotten.aname),
IIF(instr([aname], ",") = 0,
Len(aname)-InStr(1,[aname]," "),
Len(aname)-InStr(1,[aname],",")))))
& " " &
defense_final.middle_initial AS fullname INTO FinalForgottenWithMiddle
FROM FinalForgotten INNER JOIN defense_final ON (right(FinalForgotten.aname,
IIF(instr([aname], ",") = 0,
Len(FinalForgotten.aname)-InStr(1,FinalForgotten.[aname]," "),
Len(FinalForgotten.aname)-InStr(1,FinalForgotten.[aname],",")
)
)=defense_final.first_name) AND (left(FinalForgotten.aname,
IIF(instr([aname], ",") = 0,
InStr(1,FinalForgotten.[aname]," ")-1,
InStr(1,FinalForgotten.[aname],",")-1
)
)=defense_final.last_name);
添加额外的参数后,我现在得到语法错误“缺少 )、] 或查询表达式中的项目”:
SELECT left(
[aname],
IIF(instr([aname], " ") = 0 AND instr([aname], ",") = 0,
Len(FinalForgotten.aname),
IIF(instr([aname], ",") = 0,
InStr(1,[aname]," ")-1,
InStr(1,[aname],",")-1)))
& "," &
right(
[aname],
IIF(instr([aname], " ") = 0 AND instr([aname], ",") = 0,
Len(FinalForgotten.aname),
IIF(instr([aname], ",") = 0,
Len(aname)-InStr(1,[aname]," "),
Len(aname)-InStr(1,[aname],","))))
& " " &
defense_final.middle_initial AS fullname INTO FinalForgottenWithMiddle
FROM FinalForgotten INNER JOIN defense_final ON
left(FinalForgotten.aname,
IIF(instr([aname], " ") = 0 AND instr([aname], ",") = 0,
Len(FinalForgotten.aname),
IIF(instr([aname], ",") = 0,
InStr(1,FinalForgotten.[aname]," ")-1,
InStr(1,FinalForgotten.[aname],",")-1)))
=defense_final.last_name AND
right(FinalForgotten.aname,
IIF(instr([aname], " ") = 0 AND instr([aname], ",") = 0,
Len(FinalForgotten.aname),
IIF(instr([aname], ",") = 0,
Len(FinalForgotten.aname)-InStr(1,FinalForgotten.[aname]," "),
Len(FinalForgotten.aname)-InStr(1,FinalForgotten.[aname],","))))
=defense_final.first_name;
有什么解决方法吗?
感谢您的回复。
【问题讨论】:
-
我可以建议您给您的表格一个短(1 个字母)别名,并更新您的问题吗?我认为这会使它更具可读性。
-
您提到“错误的参数错误”。你能指定错误吗?这通常发生在某个字段拼写错误时。
-
@iDevlop 它说“查询表达式中函数使用的参数数量错误'left(...”
标签: ms-access syntax operator-keyword