Как использовать поле со списком, чтобы заполнить множественное поле в подчиненной форме в MS-Access? - PullRequest
0 голосов
/ 14 марта 2019

У меня есть подформа в Access, которая позволяет пользователю выбирать записи, используя флажки. В дополнение к этой суб-форме есть поле со списком имен.

Можно ли выбрать несколько записей с помощью флажков и присвоить им имя нажатием кнопки?

Кнопка называется [assignButton], подформа называется [list subform], а поле со списком называется [personCombo].

Это кажется простой задачей, но я не знаю, как будет написан VBA для кнопки, запускающей этот вид действия?

Here is an example of my form

Все записи привязаны к существующей таблице с именем "tbl_jobs". Эта таблица содержит столько же строк и столбцов, что и подчиненная форма на скриншоте

1 Ответ

0 голосов
/ 14 марта 2019

Отказ от ответственности : следующий код предназначен только для иллюстрации того, как обновить строки подчиненной формы, поэтому он не включает обработку ошибок или другой общий код процесса.Также обратите внимание, что в операторе SQL нет дополнительных критериев в предложении WHERE, главным образом потому, что в вопросе отсутствует фактический запрос RecordSource подчиненной формы и / или информация о том, как таблица подчиненной формы подготавливается и / или фильтруется для каждой загрузки формы.

Private Sub AssignPerson_Click()
  Dim qry as QueryDef
  Set qry = CurrentDb.CreateQueryDef("", _
    "UPDATE tbl_jobs SET Person_Name = [ParamName]" & _
    " WHERE [Select] = True")
  qry.Parameters("ParamName") = PersonCombo.Value
  qry.Execute

  Me.list_subform.Requery 'Ensure subform displays updated rows
End Sub

На самом деле этот вопрос является слишком широким для Stackoverflow.Есть несколько способов выполнить то, что вы хотите, и ваша проблема заключается в разработке, кодировании и понимании.Но, в конце концов, этот код модели довольно прост и удовлетворяет основным требованиям, поэтому я считаю, что не стоит придираться.

...