Я работаю над базой данных с двумя основными таблицами и связанной таблицей, которая содержит внешние ключи из двух таблиц. Я создал форму в Access, и цель формы - использовать раскрывающийся список, чтобы выбрать 1 вариант из одной таблицы, и использовать поле списка множественного выбора, чтобы позволить пользователям выбирать несколько параметров из другой таблицы. Затем пользователь щелкнул кнопку, и мой код (см. Ниже) должен создать запись в связанной таблице для каждой выбранной опции в списке. Например:Доступ к VBA Преобразование массива в отдельные записи
Пользователь создает новую запись в форме, выбирает «Обеспечение качества» из раскрывающегося списка и выбирает 2 варианта из списка. Когда пользователь нажимает кнопку «cmdAddCompToCurr», в связанной таблице должны быть созданы 2 записи.
Когда я тестирую кнопку, это не совсем правильно. Код не преобразует массив, созданный из выбора блока списка, в отдельные идентификационные номера. Независимо от того, какие элементы я выбираю из списка, я всегда получаю одинаковый идентификационный номер в связанной таблице.
Код:
Private Sub Command0_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim i As Variant
Set db = CurrentDb()
Set rs = db.OpenRecordset("tbl_CurCom_Link", dbOpenDynaset)
If List89.ItemsSelected.Count = 0 Then
MsgBox "No components were selected"
GoTo Endme
End If
If List89.ItemsSelected.Count >= 1 Then
i = List89.ListCount
fld_ComponentID = List89.Column(0, 0)
fld_ComponentCode = List89.Column(1, 0)
fld_ComponentTitle = List89.Column(2, 0)
fld_CompRevision = List89.Column(3, 0)
End If
For Each i In List89.ItemsSelected
rs.AddNew
rs!fld_CurriculumID = fld_CurriculumID
rs!fld_ComponentID = fld_ComponentID
rs.Update
Следующая Endme: End Sub
Спасибо, Джон! Это сработало отлично! – Aaron