【问题标题】:How to change font size using VBA in MS Acces如何在 MS Access 中使用 VBA 更改字体大小
【发布时间】:2019-10-14 00:03:43
【问题描述】:

我正在尝试根据文本框值更改节组中 Ms Access 报告中的字体大小。

我在“格式化”事件中用 VBA 编写了一些代码:

Private Sub Header_OrganizationalUnit_Format(Cancel As Integer, FormatCount As Integer)
    If Me.txt_OrganizationalUnit.Value = "HeadQuarter" Then
        Me.txt_OrganizationalUnit.FontSize = 24
    Else
        Me.txt_OrganizationalUnit.FontSize = 12
    End If
End Sub

它不会改变文本框中的任何字体大小

【问题讨论】:

  • 它需要在文本框的事件中,change 可能,在 mo 中无法访问。还是报告公开事件?
  • 这应该适用于打印预览。您可能会在报告视图中打开报告吗?

标签: vba ms-access


【解决方案1】:

首先,您不需要 VBA 来执行此操作。您可以改用条件格式。

您要捕获的事件是Change 事件。 您还需要阅读 Text 属性而不是 Value,因为该值仅在文本框失去焦点时更新。

将此事件过程添加到您的报告代码中:

Private Sub txt_OrganizationalUnit_Change()
    With txt_OrganizationalUnit
        If .Text = "HeadQuarter" Then
            .FontSize = 24
        Else
            .FontSize = 12
        End If
    End With
End Sub

使用with 块可以减少VB 在后台执行的绑定调用的数量,同时使您的代码看起来更好。

【讨论】:

  • 报告不是表格
  • 哦,对不起。编辑了我的答案。谢谢。
  • 然而,事件仍然触发。
  • 您也可以在 VBE IDE 中打开 txt_OrganizationalUnit 的事件下拉列表,并看到 Change 肯定在其中。单击它将创建一个存根Private Sub txt_OrganizationalUnit_Change() 供您填写。
  • 很抱歉,我没有足够准确地提出问题。当然,您提供的选项有效,但在“打印预览”视图中。我将使用我的报告作为表单的元素之一。不过,感谢您的帮助和最诚挚的问候。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-18
相关资源
最近更新 更多