从第一条记录移动到最后一条记录但不是从最后一条记录移动到第一条时触发 OnCurrent 事件

OnCurrent event firing when moving from first record to the last but not from last to the first

我有下面的代码,它应该根据交易类型字段中的值启用和禁用主窗体和采购和销售子窗体上的金额字段。现在它在前锋 运行 上完美运行。 IE。一旦加载了表单,我就会从第一条记录滚动到最后一条。但是,当我点击最后一条记录并且从后向前滚动记录时,金额字段仍然处于禁用状态(即代码不再 运行s),我必须重新加载表格。有什么办法可以解决这个问题吗?我希望用户对启用和禁用有实时响应。

请找一张表格的图片,以防它有助于形象化场景。

Private Sub Form_Current()

    Select Case Me.transactionType.Value
    Case 1
        Me.PurchaseOrderDetails_subform.Enabled = False
        Me.SalesOrderDetails_subform.Enabled = False

    Case 4
        Me.Amount.Enabled = False
        Me.PurchaseOrderDetails_subform.Enabled = False
        Me.SalesOrderDetails_subform.Enabled = True

    Case 2
        Me.Amount.Enabled = False
        Me.PurchaseOrderDetails_subform.Enabled = True
        Me.SalesOrderDetails_subform.Enabled = False

    Case 3
        Me.Amount.Enabled = False
        Me.PurchaseOrderDetails_subform.Enabled = False
        Me.SalesOrderDetails_subform.Enabled = True
    End Select
End Sub

非常感谢您的帮助。

您从未启用该字段,因此您可能需要进行以下修改:

Select Case Me.transactionType.Value
    Case 1
        Me.Amount.Enabled = True
        Me.PurchaseOrderDetails_subform.Enabled = False
        Me.SalesOrderDetails_subform.Enabled = False