在Access 2016 VBA中,如果要将表单上的按钮点击事件设置为将多值字段写入第二个表格,可以按照以下步骤进行操作。
Private Sub btnSave_Click()
Dim rsSource As DAO.Recordset
Dim rsDest As DAO.Recordset
Dim varValues As Variant
Dim strSQL As String
' 获取源表格的记录集
Set rsSource = Me.RecordsetClone
' 打开目标表格的记录集
Set rsDest = CurrentDb.OpenRecordset("YourSecondTable", dbOpenDynaset)
' 移动到源表格的第一条记录
rsSource.MoveFirst
' 循环处理源表格的每条记录
Do Until rsSource.EOF
' 获取源表格多值字段的值
varValues = rsSource.Fields("YourMultiValueField").Value
' 将多值字段的值写入目标表格的新记录
If Not IsNull(varValues) Then
For Each varValue In varValues
rsDest.AddNew
rsDest.Fields("YourFieldInSecondTable").Value = varValue
rsDest.Update
Next varValue
End If
' 移动到下一条源表格记录
rsSource.MoveNext
Loop
' 关闭记录集
rsSource.Close
rsDest.Close
Set rsSource = Nothing
Set rsDest = Nothing
End Sub
请根据您的实际情况修改代码中的表格和字段名称,并将代码放置在您的表单代码模块中的按钮点击事件中。
这段代码将从源表格中获取多值字段的值,并将每个值写入到第二个表格的新记录中。