Access 报告文本框仅显示 255 个字符的较长查询结果
Posted
技术标签:
【中文标题】Access 报告文本框仅显示 255 个字符的较长查询结果【英文标题】:Access report text box only displays 255 characters of a longer query result 【发布时间】:2019-02-22 15:49:06 【问题描述】:我有一个似乎很常见的问题,但具体问题与其他可用问题略有不同。在 Windows 10 上使用 MS Access 2016 数据库。
我有一个执行 UDP 函数 Coalesce 的查询,它将多条记录中的长文本组合成一个字符串。查询的大小似乎完全不受限制 - 我可以查看数百个字符的正确输出。
但是,当我尝试在报告中显示它时,在带有 Can Grow 的文本框中,只有前 255 个字符可见。 (文本框正常增长)
这个文本框根本没有设置任何格式,它被设置为纯文本(所以它可以缩小,这显然富文本不能做到。富文本也有同样的问题)
许多解决方案都围绕着让查询返回超过 255 个字符 (Why a Long Text field is returning only 255 characters in a MS ACCESS 2013 query?) - 我没有这个问题。查询没问题。
许多解决方案以短文本类型表中的记录源或短文本字段 (Access report field truncating at 255 characters) 中的查询为中心。这也不是我的问题,因为a)原始源字段是长文本,通过UDP处理,输出String类型,查询结果>255个字符。
救命!
【问题讨论】:
报告是否按此列分组? (请参阅分组和排序)。 -- 参见:allenbrowne.com/ser-63.html 它没有。此列是链接到记录的 cmets 的摘要 - 因此它的长度可以是 0 到 n 行,并且根本不排序或分组。 报告 RecordSource 是否是一个使用串联引用查询的查询?你读过艾伦布朗的教程吗?当返回超过 255 个字符并链接到可能的解决方案时,他提到了一个错误。尝试直接在文本框中调用连接函数。 是的! @June7 将合并公式移到报表文本框中直接解决了问题!您想将其移至答案吗?关于 Allen Browne 链接,我确实阅读了它,但我得到了“如果您的查询正确显示备忘录,导出时值被截断,您遇到了另一组问题。”下面的链接要么不起作用,要么没有帮助我弄清楚。 【参考方案1】:如果报告 RecordSource 是一个使用连接引用查询的查询,您可能会遇到 Allen Browne 的 ConcatRelated 函数文章 http://allenbrowne.com/func-concat.html 描述的错误,他提供了可能的解决方案。
但是,可以从文本框或另一个 VBA 过程中调用该函数。尝试使结果不会传递到查询的选项:
直接作为RecordSource的名称连接引用查询对象
直接在RecordSource中用连接函数构造SQL语句
直接在文本框中调用拼接函数
【讨论】:
以上是关于Access 报告文本框仅显示 255 个字符的较长查询结果的主要内容,如果未能解决你的问题,请参考以下文章
长文本(> 255 个字符)在 MS Access 2013 中导入和添加到现有表时被截断