【问题标题】:Access report text box only displays 255 characters of a longer query resultAccess 报告文本框仅显示 255 个字符的较长查询结果
【发布时间】: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 链接,我确实阅读了它,但我得到了“如果您的查询正确显示备忘录,导出时值被截断,您遇到了另一组问题。”下面的链接要么不起作用,要么没有帮助我弄清楚。

标签: ms-access report ms-access-2016


【解决方案1】:

如果报告 RecordSource 是一个使用连接引用查询的查询,您可能会遇到 Allen Browne 的 ConcatRelated 函数文章 http://allenbrowne.com/func-concat.html 描述的错误,他提供了可能的解决方案。

但是,可以从文本框或另一个 VBA 过程中调用该函数。尝试使结果不会传递到查询的选项:

  1. 直接作为RecordSource的名称连接引用查询对象

  2. 直接在RecordSource中用连接函数构造SQL语句

  3. 直接在文本框中调用拼接函数

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-24
    • 1970-01-01
    • 2016-08-04
    • 2014-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多