2017-02-20 68 views
0

在MS Access 2016上,我有一个属性为“不可见”的按钮。如何激活按钮,如果一个值小于零?

我希望按钮在另一个字段([Balance])中的值小于“0”(零)时保持可见。

例如平衡是-5,00,按钮(btOpenReport)将显示可见。 平衡是1.00,按钮(btOpenReport)是不可见的

此代码不能正常工作时,按钮内的所有记录保持可见,即使该值大于0

Private Sub Form_Current() 
'button invisible, ok 
Me.btOpenReport.Visible = False 
'must evaluate if Balance is less than 0 and put button visible,...not working 
If Me.Balance < 0 Then Me.btOpenReport.Visible = True 
End Sub 

是什么错误?

Here is a db example (Ms Access 2016 Database1)

回答

1

您不能将连接形式上的不同记录上的按钮可见性设置为不同。这根本不可能。

他们实现类似目的的唯一方法是使用文本框和一些聪明的条件格式,给人一个按钮的印象,可以按或不,或者更好的恕我直言把按钮放在表头或页脚并通过On_current事件启用/禁用它。

+0

嗨。只有在余额小于零的情况下,才可以使用带有可见标题“打开报告”的文本框?所以我可以点击这个文本框,就好像它是一个“打开报告”按钮。对? 现在我添加了一个示例数据库到我的第一篇文章/问题。 –

+1

如果您将计算字段添加到基本查询的表单中,请将其称为{txtReport:IIf(Balance <0,“Open Report”,“”))}。然后,可以在表单中填充该字段。 在执行您想要运行的代码之前,在文本框的点击属性上只需检查值是否为“”,以防有人决定按下该代码即使它不会“显示”为活动状态。 – Minty

+0

它的工作原理。 用简单的方式解释: 1-在查询(分组)中,我创建了一个计算字段“txtRep”; - 如果“余额”小于零; “公开报告”; “”; -Total:表达式。 2 - 在表单中,如果出现新的“txtRep”; - 在宏中打开我在开头添加的报告:如果“txtRep”为空,则取消;否则,“公开报告”宏将继续。 –

1

你选错事件。当您更改文本框中的值时,Form_Current不会触发。请参阅文档:https://msdn.microsoft.com/en-us/library/office/ff193159.aspx

+1

为什么不'Me.btOpenReport.Visible = Me.Balance <0' – Fionnuala

+0

@Fionnuala,谢谢。这是行不通的。该按钮在所有记录中都可见。 –

+0

@EliteRaceElephant这是一个基于分组查询的连续表单。没有文本框可以填写或更改。 “平衡”字段是一个总和。 –

相关问题