2014-06-14 43 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」事件中,它不起作用。但它在「上載」事件中起作用。該表單是嵌入在主表單中的子表單。它必須與此有關。我應該使用不同的事件嗎? –