我在SLD表和ORDER表之间有一对一的关系。 SLD表是主窗体,ORDER表是子窗体。主窗体的表比子窗体表有更多的记录。设置主和子链接。我已经反编译并做了紧凑和修复。我怀疑我的应用程序出现故障。在那种情况下,这不是第一次(我之前已修复过)。这次似乎没什么用。我还导入了一个新的数据库。
在表单加载时,表单和字段都正常工作。我使用[' NEXT']按钮继续下一个记录,并到达子表单记录的末尾,因此具有空白字段。我尝试导航到以前的记录(也使用按钮),但子窗体不移动/导航。子表单没有任何反应。
它似乎变得更糟,因为它首先导航但是它不遵守代码说文本框填充时禁用复选框,反之亦然。
答案 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