MS Access子窗体不显示记录而不导航

时间:2017-05-15 10:00:16

标签: ms-access table-relationships

我在SLD表和ORDER表之间有一对一的关系。 SLD表是主窗体,ORDER表是子窗体。主窗体的表比子窗体表有更多的记录。设置主和子链接。我已经反编译并做了紧凑和修复。我怀疑我的应用程序出现故障。在那种情况下,这不是第一次(我之前已修复过)。这次似乎没什么用。我还导入了一个新的数据库。

在表单加载时,表单和字段都正常工作。我使用[' NEXT']按钮继续下一个记录,并到达子表单记录的末尾,因此具有空白字段。我尝试导航到以前的记录(也使用按钮),但子窗体不移动/导航。子表单没有任何反应。

它似乎变得更糟,因为它首先导航但是它不遵守代码说文本框填充时禁用复选框,反之亦然。

2 个答案:

答案 0 :(得分:0)

从它的声音来看,问题出现在你的Next按钮中,而不是它是一个子窗体问题。正如您在评论中所述,默认导航允许表单按预期工作。

您的上一个按钮OnClick事件中是否有此逻辑?另外为了安全起见,我会在下面的代码中添加OR语句,以确保其捕获空值或空白

{{1}}

答案 1 :(得分:0)

我发现If语句属于Form_Current事件。在此代码之后,我不再遇到问题了:

Private Sub Form_Current()

If (IsNull(Forms!Order!OrderSubform.Form!txtOrder_Number.Value) Or _
    Forms!Order!OrderSubform.Form!txtOrder_Number.Value = "") Then
        Forms!Order!OrderSubform.Form!txtDate_Of_Order.Enabled = True
        Forms!Order!OrderSubform.Form!chkbxOrder_Cancelled.Enabled = True
ElseIf (IsNull(Forms!Order!OrderSubform.Form!txtDate_Of_Order.Value) Or _
    Forms!Order!OrderSubform.Form!txtDate_Of_Order.Value = "") Then
        Forms!Order!OrderSubform.Form!txtDate_Of_Order.Enabled = False
        Forms!Order!OrderSubform.Form!chkbxOrder_Cancelled.Enabled = True
        Forms!Order!OrderSubform.Form!chkbxOrder_Cancelled.Value = True
Else
    Forms!Order!OrderSubform.Form!txtDate_Of_Order.Enabled = True
    Forms!Order!OrderSubform.Form!chkbxOrder_Cancelled.Enabled = False
    Forms!Order!OrderSubform.Form!chkbxOrder_Cancelled.Value = False
End If

End Sub