如果子表单没有数据,则为空白父表单

时间:2016-02-09 20:19:09

标签: ms-access access-vba

我的常规表格附有连续表格。一切正常,直到子表单没有数据。 这是包含数据的子表单 image1 enter image description here

如果子表单中没有数据,表单就像这样。
图像2 enter image description here

我在主表单上的当前事件中使用以下代码:

Function RefreshCOunt()
If Me.frmVerifyEquipmentSub.Form.Recordset.RecordCount = 0 Then

    Me.frmVerifyEquipmentSub.Visible = False
    Me.txtTotal = 0
    Me.Refresh

Else
    Me.frmVerifyEquipmentSub.Visible = True
    Me.frmVerifyEquipmentSub.Form.Requery
    Forms![test3].txtTotal = Me.frmVerifyEquipmentSub.Form.txtSum
    Me.Refresh
    Forms![test3].Refresh

End If
End Function

Private Sub Form_Current()
Call RefreshCOunt
End Sub

Private Sub Form_GotFocus()
Call RefreshCOunt
End Sub

这是我的子表单上的代码,当我的用户点击保存按钮时,该函数运行。

Function RefreshCOunt()
If Me.txtCount = 0 Then
    Forms![test3].SetFocus
Else
    Me.Requery
    Forms![test3].txtTotal = Me.txtSum
    Me.Refresh
    Forms![test3].Refresh

End If
End Function

我在子表单后面有一个文字,上面写着“没有可用的数据显示”

这种情况下的两个问题是:

  1. 如图2所示的空表单视图(解析为我已将主表单的记录源链接到子表单中也使用的表)

  2. 用户验证完所有设备后隐藏子表单。 - 目前我的代码只在第一次加载表单时才有效。 - 一旦用户验证了所有设备,子窗体就不会隐藏

  3. 我知道如何使用HAsData函数在报告中执行此操作,但我不确定如何在表单中执行此操作。

1 个答案:

答案 0 :(得分:1)

听起来你对主窗体的查询有一个内部连接到子窗体的表(或带有这个表的查询)。

删除此联接或将其更改为外部联接。