Слово ComboBox не распознается при использовании его в VBA, в форме в MS Access - PullRequest
0 голосов
/ 25 июня 2019

У меня есть форма в Microsoft Access.

Имеет 2 поля, связанных с этой проблемой.

  • Sending_Expense_Category

    Это поле представляет собой поле со списком, извлекающее список элементов из другой таблицы с помощью мастера поиска. В раскрывающемся списке 2 категории: Contractors и Salaries & Benefits.

  • Account

    Это также поле, извлекаемое из другого стола. Он содержит список, содержащий, помимо прочего, следующие значения: A500005, A502300).

Я пытаюсь сделать простое утверждение if.

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

Я искал по всей сети, но безрезультатно. Я думаю, что гуглю не тот вопрос (новичок).

Private Sub Sending_Expense_Category_AfterUpdate()
    If Me.Sending_Expense_Category = "Contractors" Then
        Me.Account = "A500005"
    End If
End Sub

Ожидаемый результат должен быть при выборе подрядчиков из Sending_Expense_Category, тогда поле счета должно автоматически заполняться числом A500005.

Сообщения об ошибках не принимаются.

1 Ответ

0 голосов
/ 25 июня 2019

Есть ли в таблице Sending_Expense_Category столбец идентификаторов (или другой первичный ключ)?И будет ли поле со списком привязано к этому столбцу вместо текстового столбца?Поместите точку останова в строку If Me.Sending_Expense_Category = "Contractors" Then

и проверьте, каково значение Sending_Expense_Category.

Кроме того, хорошей идеей будет называть ваши элементы управления (текстовые поля, выпадающие списки) как-то иначе, чем имя поля, к которому оно привязано.Access может запутаться в том, на какую сущность вы ссылаетесь, если у них одинаковые имена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...