![在访问选择查询中连接时无法删除空字段和分隔符](https://linux22.com/image/1485116/%E5%9C%A8%E8%AE%BF%E9%97%AE%E9%80%89%E6%8B%A9%E6%9F%A5%E8%AF%A2%E4%B8%AD%E8%BF%9E%E6%8E%A5%E6%97%B6%E6%97%A0%E6%B3%95%E5%88%A0%E9%99%A4%E7%A9%BA%E5%AD%97%E6%AE%B5%E5%92%8C%E5%88%86%E9%9A%94%E7%AC%A6.png)
我对 Access 还比较陌生(使用 2013)。我将查询链接到 Excel,运行正常。
我有一个concat
可能从这个网站获得的函数,但 Excel 不喜欢与未定义的函数链接,因此我无法在我的解决方案中使用任何这些函数(至少我是这样认为的)。无论如何,我试图将选择查询中除一个字段之外的所有字段连接到带有句点.
分隔符的列中,如果该字段为空,则可选择不显示句点或字段。
我在下面的表达式生成器中使用了Iif
这样的语句,但即使相关字段为空白,仍然会出现随机句点。
NewColumnName: Iif(IsNull([field1],"",[field1]&". ") & Iif(IsNull([field2]),"", [field2]&". ")
依此类推,总共约有七个字段。关于如何正确地用句点连接所有字段,同时跳过空字段以删除任何前导或尾随句点,您有什么想法吗?
(旁注:我看过一个 Youtube 视频,他们用了一个+
符号来代替“&”符号,这个符号在测试数据库中有效,但我无法在我的真实数据库中复制它。这是理想的,因为它没有很长Iif
,但我会尽一切必要的努力。那行是这样的:
NewColumnName: [Field1] & (" "+[field2]+". " & (" "+[field3]+". ")
答案1
我能够找出问题所在。我的表格中的一些空白单元格没有被读取为 Null。我利用更新查询将空白单元格更改为 Null。“更新”为“Null”,“条件”为“=”。