如果/然后导致设置visible = true

时间:2014-07-08 19:34:39

标签: access-vba ms-access-2010

表单是一个连续的表单,目的是调用供应商列表,然后当完成所有必需字段(在不同的表单上)时,一个名为AllDone的计算字段,带有IIf语句将字段设置为& #34;是"对于每条记录(IIf在表格内完成)。

然后在加载表单时,应在供应商旁边显示一个复选标记,指示用户该供应商已完成所有操作。复选标记已加载到表格中。

" AllDone"字段的结果类型为是/否,格式设置为是/否,格式的格式设置为是/否。

这是一个简单的VBA代码,但我无法使其工作。我尝试了几种变化;包括,将.value添加到Me.AllDone,添加""周围是,尝试-1,以及各种组合。我的试验失败了,我的研究停滞不前;所以我转向SO。

我的代码:

   Private Sub Form_Load()
        If Me.AllDone = Yes Then
            Me.Check.Visible = True
        Else
            Me.Check.Visible = False
        End If
    End Sub

谢谢!

1 个答案:

答案 0 :(得分:0)

您无法在EACH记录的“连续”表单上切换控件的可见性。您可以使用条件格式来禁用它,但没有内置功能使其不可见。您可能能够使复选框的背景颜色与表单的背景相匹配,这可能会使其不可见 - 但我不确定这是否有效。

用户可以在连续表单上切换控件吗?也就是说,用户是否可以以连续的形式实际编辑该值?如果没有,您可以将其更改为文本框,然后可以使用条件格式修改背景颜色,具体取决于字段的值。

使用条件格式:

在“设计”视图中打开表单并选中复选框,然后选择“表单设计工具 - 格式 - 条件格式”。添加新规则:

字段值等于错误(或者为True,具体取决于您要执行的操作)

现在将Backcolor设置为与连续表单的详细信息部分相同。当Access遇到该规则时,它将检查该字段的值并相应地设置Backcolor。