Ms access 如果子窗体没有数据,则父窗体为空
我有一个固定的形式,还有一个连续的形式。在子窗体没有数据之前,一切正常。 下面是包含数据的子窗体Ms access 如果子窗体没有数据,则父窗体为空,ms-access,vba,Ms Access,Vba,我有一个固定的形式,还有一个连续的形式。在子窗体没有数据之前,一切正常。 下面是包含数据的子窗体 图1 如果子窗体中没有数据,则窗体将变成这样。 图2 我在我的主窗体上的当前事件中使用以下代码: Function RefreshCOunt() If Me.frmVerifyEquipmentSub.Form.Recordset.RecordCount = 0 Then Me.frmVerifyEquipmentSub.Visible = False Me.txtTotal =
图1 如果子窗体中没有数据,则窗体将变成这样。
图2 我在我的主窗体上的当前事件中使用以下代码:
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
我在子窗体后面有一个文本,上面写着“没有可用的数据显示”
这种情况下的两个问题是:
我知道如何使用HAsData函数在报表中执行此操作,但我不确定如何在窗体中执行此操作。听起来您对主窗体的查询与子窗体的表(或此表的查询)有一个内部联接
删除此联接或将其更改为外部联接。表单是否具有正确的子/父关系?如果是这样,父窗体应该独立于是否在子窗体上返回数据,因此无论发生什么情况,这些字段都应该填充。我刚刚意识到,我的主窗体链接到了一个记录源,该记录源与导致问题的子窗体相同,每次都会这样做。哦,是的!我没有意识到我的主窗体将它的记录源链接到与子窗体相同的表。现在我从主窗体中删除了记录源。如果没有数据,第二部分就是隐藏子表单。当前,当用户验证了所有记录后,它不会隐藏子窗体。我将编辑我的帖子,通过将焦点设置回主窗体并运行刷新计数功能来解决此问题