Public Sub normalizeData(tblOne As String, tblTwo As String, fldName As String)
Dim rsIn As DAO.Recordset
Dim rsOut As DAO.Recordset
Dim fld As DAO.Field
Dim aSplitVals() As String
Dim splitVal As Variant
Set rsIn = CurrentDb.OpenRecordset(tblOne)
Set rsOut = CurrentDb.OpenRecordset(tblTwo, dbOpenDynaset)
Do While Not rsIn.EOF
aSplitVals = Split(rsIn.Fields(fldName), ";")
For Each splitVal In aSplitVals
'Debug.Print splitVal
rsOut.AddNew
rsOut.Update
For Each fld In rsIn.Fields
If Not fld.Name = "ID" Then
rsOut.Edit
rsOut.Fields(fld.Name) = fld.Value
rsOut.Update
rsOut.Edit
rsOut.Fields(fldName) = splitVal
rsOut.Update
End If
Next fld
rsOut.MoveNext
Next splitVal
rsIn.MoveNext
Loop
End Sub