Связанный список с Multiselect = NONE не сохраняется в таблицу - PullRequest
0 голосов
/ 02 июля 2018

У меня есть форма, содержащая Cbo_Vendor, где пользователь выбирает Продавца (на основе списка из связанной электронной таблицы, в которой перечислены Продавцы и PN). Этот выбор используется для фильтрации 2 запросов выбора для отдельных списков: (Qry_Parts) для получения списка PN для поставщика и (Qry_Team) для определения того, кто является покупателем для этого поставщика.

Qry_Team имеет 2 поля - «Поставщик» и «Покупатель» и привязан к отдельной связанной электронной таблице со списком «Продавцы и покупатели». Критерии для продавца

[Forms]![Summary_Form]![Cbo_Vendor]

У меня есть список для отображения имени покупателя из Qry_Team. Источник строки для List_Buyer:

SELECT [Qry_Team].[Buyer] FROM Qry_Team; 

И только одно имя должно заполнять список.

Мне не удалось получить имя покупателя для сохранения в моей таблице.

У меня есть код VBA для запроса списка, когда Cbo_Vendor обновлен. Это работает.
У меня также есть код для автоматического выбора имени, которое появляется в списке. Это тоже работает. Я попытался настроить поле «Покупатель» в моей таблице как обычный текст и как поле поиска на основе таблицы / запроса (используя тот же оператор SELECT, что и в списке на моей форме, а также оставив его пустым).

Private Sub Cbo_Vendor_AfterUpdate()
  Me.List_Buyer.Requery
  List_Buyer.Selected(0) = True
End Sub

Независимо от того, что я пытаюсь сделать, я не могу заставить имя покупателя сохранить его в моей сводной таблице, если я физически не нажму на уже выбранное имя. Как получить это, чтобы сохранить, не требуя от пользователя, чтобы выбрать его снова?

1 Ответ

0 голосов
/ 05 июля 2018

Ваш вопрос затрудняет выяснение того, как вы обновляете поля - и какие элементы управления соответствуют полям. В идеале, список элементов управления с их свойствами (ControlSource, ControlName и любой SQL, который идет вместе с запросами списка) будет проще.

Иногда даже добавление снимка экрана вашей формы с соответствующими элементами управления облегчает визуализацию.

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

Форма связана с TblSummary. Поле формы привязано к «Покупателю» в этой таблице.

Вместо List_Buyer.Selected(0) = True

попробуйте присвоить значение напрямую Me!List_Buyer = List_Buyer.ItemData(0)

Значение не назначается напрямую при использовании свойства .Selected(index)

...