2014-06-14 45 views
1

我想要做一个if语句返回一个事件,取决于窗体上的记录集是否大于0(如果记录存在与否)。我在窗体“frmValueAddReporting01”上的“on current”事件上使用了以下代码,但它给出了语法错误消息。计数MS Access窗体上的记录集

If Me.Form.Recordset.RecordCount = 0 Then 
    Me.Etichetta12.Visible = False 
ElseIf Me.Form.Recordset.RecordCount > 0 Then 
    Me.Etichetta12.Visible = True 

End If 

回答

2

虽然通常使用Forms!myFormName指一种形式,VBA代码Forms提到的形式集合,在这种情况下,你必须明确处理表单的形式财产,即Form来后名称:

Forms!frmValueAddReporting01.Form.Recordset.RecordCount

或表单自身的模块寻址时留出表格名称:

Me.Form.Recordset.RecordCount

+0

虽然代码被理解的,应该始终有一个附带的说明。这不需要很长时间,单行很好,但它*是*需要的。我已经从适当队列中到达,因为这是自动标记的。保持高质量的答案将有助于防止这种情况发生。 – Veedrac

+0

@Veedrac你当然是对的。我编辑了答案。 – Roland

+0

我编辑了上面的代码。但在“On current”事件中,它不起作用。但它在“上载”事件中起作用。该表单是嵌入在主表单中的子表单。它必须与此有关。我应该使用不同的事件吗? –