带有 TextFormat="Rich Text" 的文本框在 2013 年不起作用

Textbox with TextFormat="Rich Text" doesn't work in 2013

我为 SQL 2016 数据库开发了一个 MS-Access 前端。我是用Access 2016开发的

一些对话窗体(帮助窗体)显示很长的帮助文本。这来自 SQL table:该列是 NVARCHAR(MAX)。在 SSMS 中,内容如下所示:

{\rtf1\ansi\ansicpg1252\deff0\nouicompat{\fonttbl{\f0\fnil\fcharset238 Calibri;}{\f1\fnil\fcharset0 Calibri;}} {*\generator Riched20 10.0.14393}\viewkind4\uc1 \pard\f0\fs20\lang1038 [然后是大量带格式的文本]

此数据显示在文本框中的表单中,TextFormat 设置为 "Rich Text"。

在 Access 2016 中,这非常有效。客户端只安装了 Access 2013。在 2013 年,文本框显示带有代码但没有格式的文字 RTF 文本,而不是格式化版本。

我尝试过的:

  1. 已检查在 Access 2013 中文本框的 TextFormat 仍然是 "Rich Text"。也就是说,2013(官方)确实支持这个设置。
  2. 已将(链接的)SQL table 的内容复制到本地访问 table。将列的文本格式 属性 设置为 "Rich Text"。 (您不能在链接 table 上执行此操作,因此无法进行复制操作)。我收到有关如何 HTML 对值进行编码的警告,请按“是”。保存table。基于此 table 创建一个测试表单,其中的文本框带有 TextFormat="Rich Text"。没有区别。

Access 2013 是否根本不支持在文本框中显示多信息文本,即使此 属性 设置仍然有效? 或者它可能与 Access 2013(甚至客户端计算机 OS:不太可能,因为客户端计算机是 Win10 Pro - 开发计算机是 Windows Server 2016)无法理解的特定 RTF 编码有关?

您误解了 富文本 属性 的作用。 Rich Text 不使用 RTF,它使用有限形式的 HTML(允许 <i><b> 等标签)。

如果您想使用 RTF,您可以使用 RTF 文件和 OLE 对象,或者使用自定义 .ocx。

Stephen Lebans 编写了一个 RTF 控件,可以找到 here(无从属关系)。我个人没有使用过它,但请随意尝试。