TextFormat =“Rich Text”的文本框在2013年无效

时间:2018-02-21 12:43:07

标签: ms-access ms-access-2013

我为SQL 2016数据库开发了MS-Access前端。我是在Access 2016中开发的。

一些对话框表单(帮助表单)显示了一个很长的帮助文本。它来自SQL表:列是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中,Textbox的TextFormat仍为“Rich Text”。换句话说,2013(官方)确实支持此设置。
  2. 将(链接的)SQL表的内容复制到本地Access表。将列的文本格式属性设置为“富文本”。 (您无法在链接表上执行此操作,因此执行复制操作)。我收到关于如何对值进行HTML编码的警告,按是。保存表格。根据此表创建一个测试表单,其中包含TextFormat =“Rich Text”的文本框。没有区别。
  3. Access 2013是否根本不支持在文本框中显示Rich Text,即使此属性设置仍然有效? 或者它可能是特定的RTF编码,Access 2013(甚至客户端机器操作系统:不太可能,因为客户端机器是Win10 Pro - dev机器是Windows Server 2016)无法理解?

1 个答案:

答案 0 :(得分:2)

您误解了 Rich Text 属性的功能。 Rich Text 不使用RTF,它使用有限形式的HTML(允许使用<i><b>等标记。

如果要使用RTF,可以使用RTF文件和OLE对象,也可以使用自定义.ocx。

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