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

时间:2016-10-17 09:18:34

标签: ms-access access-vba ms-access-2013

我有下面的代码,它应该根据事务类型字段中的值启用和禁用主窗体上的金额字段以及购买和销售子窗体。现在它在前进中完美运行。即一旦表单加载,我从第一个记录滚动到最后一个记录。但是当我点击最后一条记录并且我从后到前滚动记录时,金额字段仍然被禁用(即代码不再运行),我必须重新加载表单。有没有办法解决这个问题?我希望用户对启用和禁用有实时响应。

请查看表单的图片,以防万一有助于可视化方案。

enter image description here

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

我将非常感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

您永远不会启用该字段,因此您可能需要进行此修改:

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