【问题标题】:Using ConcatRelated() With 2 Where Criteria将 ConcatRelated() 与 2 Where 条件一起使用
【发布时间】:2018-04-16 19:33:21
【问题描述】:

我在查询中运行它 - 当我实际运行查询时它会引发错误

错误 3061 - 参数太少。预计 1

这是我的语法:

SELECT [ExcelImport].[unitID], [ExcelImport].Department, 
ConcatRelated('[OrderID]','[ExcelImport]','[unitID] = ' & [unitID] & ' AND [Department] = ''' & [Department]) AS [SID]
GROUP BY [ExcelImport].[unitID], [ExcelImport].[Department]
ORDER BY [ExcelImport].[unitID];

这是使用 Allen Browne 的 ConcatRelated() 函数

http://allenbrowne.com/func-concat.html

【问题讨论】:

  • unitID 为整数,部门为字符串
  • 如果我在 Department = ''' 之后添加三个单引号,那么我会在查询表达式中的字符串中收到语法错误的调试错误 - 我编辑了我的 OP 以反映更新的 synatx
  • 您还需要通过添加& '''来关闭部门后的三引号。

标签: sql ms-access concatenation ms-access-2013


【解决方案1】:

引号和撇号在用作特殊字符时必须始终成对出现。如果您发现很难确定配对是否正确,请使用引号定义参数参数和文本分隔符的撇号。在 [Department] 之后需要一个右撇号分隔符:

SELECT [ExcelImport].[unitID], [ExcelImport].Department, 
ConcatRelated("[OrderID]","[ExcelImport]","[unitID] = " & [unitID] & " AND [Department] = '" & [Department] & "'") AS [SID]
GROUP BY [ExcelImport].[unitID], [ExcelImport].[Department]
ORDER BY [ExcelImport].[unitID];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-10
    • 1970-01-01
    • 1970-01-01
    • 2014-08-21
    • 2015-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多