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 中导入和添加到现有表时被截断

如何在 Access 报告文本框中底部对齐字符串?

我的 MS Access 组合框仅适用于某些记录

访问:最少超过 255 个字符

Microsoft Access ODBC 连接字符串限制为 255 个字符?

MS Access中的列过多时如何转置数据