1

为了使用字符间距,我需要对 MS Access 中的报表中的字段使用富文本格式。在报表中,尝试将字段属性中的文本格式从纯文本更改为富文本会产生错误:“您输入的设置对此属性无效。” 我认为这是因为该字段不是备忘录数据类型(显然是唯一支持 RTF 的数据类型)。它采用“ XXXX_XXXX ”格式,其中 * 和 _ 是文字字符,X 代表数字 0 到 9。

对于上下文:这个数据库的工作流程是它有一个单一的表单,当指定一个 Id 时,查询一个链接表,根据查询结果生成一个报告,并将其输出为 PDF。

该字段的控制源是查询结果中的一个字段。

一切正常,但我需要能够将此字段设置为 RTF。如果这有任何区别,则该字体是 TrueType 字体。本质上,我想在场地上有一个固定的高度,并在整个宽度上水平拉伸它。即在 CSS 中它大致定义为“最大高度:30 像素;宽度:100%;”

我尝试过的事情:

在查询设计视图中,将字段的文本格式设置为富文本。在报表设计视图中设置字段的文本格式时,我仍然收到错误消息。

另一个想法是将字段显式转换为备忘录数据类型(超过 255 的任何内容都会隐式转换为这种类型),但我不确定如何在 SQl [MS SQL Server 我们将使用类似 CONVERT([fieldname] , 文本)]

创建自定义格式会有帮助吗?我想不是因为它仍然是纯文本。

提前感谢您的任何帮助和评论。

4

3 回答 3

3

除非基础列是富文本列(备忘录),否则不能将 BOUND 文本框更改为富文本。但是,一个简单的解决方法是在报表上放置一个未绑定的文本框。只需在属性表中将文本设置为富文本(同样,无需使用代码尝试更改此值)。一旦您将文本框放在表单上,​​然后在为每条记录触发的表单“详细格式”中,您可以在代码中执行:

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)

    Me.MyTextBox = "<div><font face=Arial size=4 color=Blue>" & _
                   "<strong>My Blue Bold Text</strong></font></div>"

End Sub

因此,您可以从上述代码中的其他列中提取值,但请记住,对于报告,必须有相应的绑定控件来引用任何列,而表单没有此要求

于 2009-11-05T15:55:37.983 回答
2

只是为了解决您建议的想法之一:

另一个想法是将字段显式转换为备忘录数据类型(超过 255 的任何内容都会隐式转换为这种类型),但我不确定如何在 SQl [MS SQL Server 我们将使用类似 CONVERT([fieldname] , 文本)]

遗憾的是,Access 数据库引擎不支持标准 SQL 的CAST()功能 :(

因为 Access 数据库引擎与 VBA5 库共享表达式服务(为什么不使用 VBA6?--谁知道?!),它可以使用大多数 VBA 转换函数,但遗憾的是数据类型之间的映射并不好。唯一相关的函数是CStr()(cast to String),但遗憾的是,它的结果如何被强制转换为各种 Access Database Engine 文本数据类型(可变长度VARCHAR、固定长度CHAR、带或不带 Unicode 压缩,以及MEMO),但遗憾的是没有记录。

有一个例外:Access 数据库引擎有自己的CDEC()(强制转换为DECIMAL)函数,但遗憾的是它一直被完全破坏

于 2009-11-05T11:12:21.557 回答
-3

尝试将文本字段设置为表格中的最后一个字段。我似乎记得在某个地方,每个表只能有一个备注字段,并且备注字段必须是最后一个字段。

于 2009-11-05T00:18:19.323 回答