При выборе другого элемента в комбинированном списке с несколькими столбцами отображаемое значение не обновляется - Access 2016

У меня есть поле со списком с 3 столбцами. У меня есть прослушиватель событий Change() в этом поле со списком, который срабатывает каждый раз, когда я нажимаю новый элемент. В самый первый раз, когда я щелкаю этот элемент, он извлекает значения и соответственно обновляет другие текстовые поля, например:

Private Sub cb1_Change()
    If cb1.Value = "" Or IsNull(cb1.Value) Then
        tb1.Value = ""
        tb2.Value = ""
        tb3.Value = ""
    Else
        tb1.Value = cb1.Column(0)
        tb2.Value = cb1.Column(1)
        tb3.Value = cb1.Column(2)
    End If
End Sub

Допустим, я выбираю элемент, содержащий эту информацию: 1, 1, 2017. Он будет заполнять tb1, tb2 и tb3 значениями 1, 1, 2017 соответственно. Если я щелкну другой элемент, скажем 2, 2, 2018, срабатывает событие изменения и переходит в оператор Else. Однако cb1.Column(0), cb1.Column(1), cb1.Column(2) по-прежнему возвращают значения 1, 1, 2017, а не 2, 2, 2018.

Почему эти значения не обновляются при каждом последующем нажатии?

Попробуйте использовать событие после обновления, а не событие изменения.

Minty 21.06.2018 17:36

@ Минти, если вы можете объяснить, почему это работает и почему Change() не работает, я приму это.

Michael 21.06.2018 18:11
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
23
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Поехали ;-)

Событие изменения запускается при каждом нажатии клавиши, но данные в этот момент не сохраняются, поэтому данные базового столбца не обновляются для отражения несохраненного измененного значения отображается.

Событие AfterUpdate срабатывает только после сохранения данных (вероятно, это правильный технический термин), и, следовательно, данные столбца, которые вы используете, теперь также обновляются, отражая сохраненное значение.

Другие вопросы по теме