#ms-access #vba #ms-access-2013
#ms-access #vba #ms-access-2013
Вопрос:
У меня есть приведенный ниже код, который должен включать и отключать поле суммы в основной форме и подчиненные формы покупок и продаж на основе значения в поле тип транзакции. Теперь он отлично работает при прямом запуске. Т.е. как только форма загружается, и я прокручиваю от первой записи к последней. Но как только я нажимаю на последнюю запись и прокручиваю записи от начала до конца, поле суммы остается отключенным (т. Е. Код больше не выполняется), и мне приходится перезагружать форму. Есть ли способ, которым я могу решить эту проблему? Я хотел бы, чтобы пользователь получал ответ в реальном времени в отношении включения и отключения.
Пожалуйста, найдите изображение формы на случай, если это поможет визуализировать сценарий.
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. Если вы говорите «прокрутка», что именно вы имеете в виду? Переход к первой записи? Итак, на панели навигации отображается «1 из 6»?
2. @Andre Да, под прокруткой я подразумеваю переход от одной записи к следующей либо с 1 по 6, либо с 6 по 1. Показанный экран предназначен только для отображения формы, на которую я ссылаюсь.
Ответ №1:
Вы никогда не включаете это поле, поэтому вам может потребоваться это изменение:
Select Case Me.transactionType.Value
Case 1
Me.Amount.Enabled = True
Me.PurchaseOrderDetails_subform.Enabled = False
Me.SalesOrderDetails_subform.Enabled = False
Комментарии:
1. Большое спасибо, Густав; это сработало. Изначально я думал, что контроль количества всегда будет выполняться автоматически, поскольку он выполняется при загрузке формы. Теперь я осознаю свою ошибку. Спасибо