【发布时间】:2020-06-23 22:31:54
【问题描述】:
我有一个名为 tblFriends 的表,见下文:
我想连接第一行,但列数每天都在波动。
假设字段名称为 1、2、3、4...30(其中 30 是可能的最大字段数。)
如何连接这些字段中的所有字符串文本?另外,它会导致空字段出错吗?例如,如表所示,如果只有 4 个字段包含记录,如果我仍然尝试连接所有 30 个字段,是否会出错?
这是我计划使用的代码,但它似乎不起作用:
Dim strSQLCat As String
strSQLCat = "UPDATE tblFriends SET 31 = CONCAT( 1 & ',' & 2 & ',' & 3 & '....' & 30) Where Record = 1;"
DoCmd.RunSQL strSQLCat
【问题讨论】:
-
“不起作用”意味着什么 - 错误消息,错误结果,没有任何反应。将字段名称括在 [ ] 中。如果字段不存在(找不到字段名称)则会出错,但如果字段为空则不会。为什么要保存这个计算结果?需要时计算。
-
它确实给了我一个错误,说“运行时错误'3085'表达式中未定义函数'CONCAT'。concat 不适用于access/sql吗?
-
对不起,我错过了,只看到了 & 连接。不,Access 没有 Concat() 函数。既然要与 & 字符连接,为什么还需要它?
-
如何将第一行的所有文本放在一个字段中(字段 31,其中 Record = 1)?
-
就像你正在做的那样使用
&,并在它的末尾加上一个As FieldName来给它一个字段名。不需要CONCAT- 这不是 Access。并且使用数字作为字段名称不是很好的做法。