以下图片中的数据表子窗体在每个单元格中都有一个组合框。如果您在左侧的单元格中选择一个新值,则右侧的单元格需要重新查询并设置为空(因为右侧的组合框由左侧的单元格过滤)。如果数据表中只有一行,我的代码运行良好。然而,如果有不止一个,我的代码会将所有组合框重置到所有行的右侧(这很糟糕)。我需要在我的代码中进行更改(下面进一步列出),以仅重置与选定的组合框相同的行上的字段?如何使用VBA更新访问数据表中当前行上的控件
这里的第一个组合框的VBA:
Private Sub cbo_LOA_Segment1_AfterUpdate()
' requery all subsequent LOA combo boxes to
' show only LOAs matching the selected Agency AND that match the earlier LOA entries
With Me
!cbo_LOA_Segment2 = Null
!cbo_LOA_Segment2.Requery
!cbo_LOA_Segment3 = Null
!cbo_LOA_Segment3.Requery
!cbo_LOA_Segment4 = Null
!cbo_LOA_Segment4.Requery
!cbo_LOA_Segment5 = Null
!cbo_LOA_Segment5.Requery
!cbo_LOA_Segment6 = Null
!cbo_LOA_Segment6.Requery
!cbo_LOA_Segment7 = Null
!cbo_LOA_Segment7.Requery
!cbo_LOA_Segment8 = Null
!cbo_LOA_Segment8.Requery
!cbo_LOA_Segment9 = Null
!cbo_LOA_Segment9.Requery
!cbo_LOA_Segment10 = Null
End With
End Sub
会发生这种情况,因为控件是相同的,只是每个控件的数据不同。在过去,我使用了多行文本框,模仿子表单,然后使用诸如LOA_Segment2_Row1 ..... 5之类的东西等。 –