Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 访问VBA If语句以更改报表字段的返回和字体颜色_Ms Access_Vba - Fatal编程技术网

Ms access 访问VBA If语句以更改报表字段的返回和字体颜色

Ms access 访问VBA If语句以更改报表字段的返回和字体颜色,ms-access,vba,Ms Access,Vba,我试图在报告上用红色突出显示一个字段,在报告上用白色粗体字体突出显示一个填充了“S”的字段。这会使字段中的所有记录保持红色。请帮忙 Private Sub Report_Activate() If Me![PULL STATUS] = "S" Then Me![PULL STATUS].BackColor = vbRed Me![PULL STATUS].FontBold = True Me![PULL STATUS].ForeColor = vbWhite End If End Sub

我试图在报告上用红色突出显示一个字段,在报告上用白色粗体字体突出显示一个填充了“S”的字段。这会使字段中的所有记录保持红色。请帮忙

Private Sub Report_Activate()
If Me![PULL STATUS] = "S" Then

Me![PULL STATUS].BackColor = vbRed
Me![PULL STATUS].FontBold = True
Me![PULL STATUS].ForeColor = vbWhite

End If
End Sub

您拥有的代码应包含在报告的详细信息部分的格式事件中。当您设置
背景色
FontBold
ForeColor
时,它将保持这种状态,直到再次更改

因此,如果不是真的,您需要一个else语句来执行相反的操作。比如:

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
  If Me![PULL STATUS] = "S" Then
    Me![PULL STATUS].BackColor = vbRed
    Me![PULL STATUS].FontBold = True
    Me![PULL STATUS].ForeColor = vbWhite
  Else
    Me![PULL STATUS].BackColor = vbWhite
    Me![PULL STATUS].FontBold = False
    Me![PULL STATUS].ForeColor = vbBlack
  End If
End Sub

MS Access使用条件格式-与MS Excel非常相似;我建议这样做,而不是使用VBA实用地更改背景色。这应该适用于“连续表单”。

不幸的是,它似乎不起作用。这应该在报表打开时生效吗?是的,它在格式化详细信息部分中的每条记录时生效。您是否在详细信息部分的On Format事件中添加了代码?“Private Sub Detail_Format(取消为整数,FormatCount为整数)如果我这样做![拉动状态]=“S”然后是我![PULL STATUS].BackColor=vbRed Me![PULL STATUS].FontBold=真正的我![拉动状态].ForeColor=vbWhite Else Me![PULL STATUS].BackColor=vbWhite Me![PULL STATUS].FontBold=假我![PULL STATUS].ForeColor=vbBlack End If End Sub'如果您根本看不到任何效果,也没有错误,则代码未运行。代码可能未链接到事件。您是直接将代码粘贴到VBA编辑器中,还是通过“详细信息”部分和“On format”事件,然后粘贴代码?我进入VBA编辑器,粘贴到报告中,然后将其设置为“详细信息”和“On format”。这是一个坚实的黑色填充。