我正在尝试使用旧线程中的代码来适应我的数据: Concatenate fields from one column in one table into a single, comma delimited value in another table
我有一个包含3600条记录的表,与下面显示的677个唯一AcousticTagCode相似:
AcousticTagCode PITtag bkm Type SiteCode
5004.24 3D6.001569C022 ap STND IC3
5004.24 3D6.001569C022 ap STND IC2
5004.24 3D6.001569C022 ap STND IC1
5004.24 3D6.001569C022 ap STND RGD1
5004.24 3D6.001569C022 ap STND RGU1
5004.24 3D6.001569C022 ap STND ORS1
5004.24 3D6.001569C022 ap STND WC1
5004.24 3D6.001569C022 ap STND WC2
5004.24 3D6.001569C022 ap STND WC3
5010.04 3D6.001569C01C ap STND IC3
5010.04 3D6.001569C01C ap STND IC2
5010.04 3D6.001569C01C ap STND IC1
5010.04 3D6.001569C01C ap STND RGD1
AcousticTagCode
是数字,所有其他字段是文本。
当我尝试跑步时
SELECT AcousticTagCode, ConcatRelated("SiteCode", "tblAllDetectionSites",
"AcousticTagCode = " & [AcousticTagCode]) AS Sites
FROM tblAllDetectionSites;`
我收到错误:
错误3075:查询表达式'AcousticTagCode ='中的语法错误(缺少运算符)。
我尝试像这样放置':
SELECT AcousticTagCode, ConcatRelated("SiteCode", "tblAllDetectionSites",
"AcousticTagCode = '" & [AcousticTagCode]) AS Sites
FROM tblAllDetectionSites;
但是会收到此错误:
错误3075:查询表达式'AcousticTagCode =“
中的字符串中的语法错误我对SQL查询不是很熟悉,因此将不胜感激!
最终结果应为每个AcousticTagCode和与该TagCode相关联的所有SiteCode提供一行。 (我尚未添加DISTINCT运算符,因为它会使所有操作变慢)
答案 0 :(得分:1)
我建议将ConcatRelated
函数更改为:
ConcatRelated
(
"SiteCode",
"tblAllDetectionSites",
iif
(
[AcousticTagCode] is null,
"AcousticTagCode is null",
"AcousticTagCode = " & Str([AcousticTagCode])
)
)
这应该解决两个问题:
AcousticTagCode
为空的记录帐户(将这些记录分组在一起)。Str
函数转换AcousticTagCode
字段保留的Double值,以避免区域设置的影响。