Hola
El código que te puse servía un poco de ejemplo.
Este código lo he creado en un módulo fuera de un formulario. Uso dos
tablas, la que contiene el campo memo y el ID (tblPRUEBA_MEMO) y la de
destino con un ID autonumérico (ID, clave primaria), un campo entero
largo para guardar el ID de origen (ID_PREV) y el valor del campo memo
que toque (Valor)
Uso como separador en el split, dos "-" y un espacio (tal como copié
de tu ejemplo).
<pego>
Public Sub DividirMemo()
Dim db As DAO.Database, rs As DAO.Recordset
Dim sSQL1 As String, sSQL2 As String
sSQL1 = "INSERT INTO tblMEMO_DISGREGADO(ID_PREV,Valor) VALUES("
Set db = CurrentDb
Set rs = db.OpenRecordset("tblPRUEBA_MEMO", dbOpenForwardOnly)
DoCmd.SetWarnings False
Do Until rs.EOF
Dim sCampos() As String
sCampos = Split(rs.Fields("Texto"), "-- ")
Dim i As Integer
For i = 0 To UBound(sCampos)
If Len(sCampos(i)) > 0 Then
sSQL2 = sSQL1 & CStr(rs.Fields("ID")) & ","
If Right(sCampos(i), 2) = vbCrLf Then
sSQL2 = sSQL2 & "'" & Left(sCampos(i),
Len(sCampos(i)) - 2) & "')"
Else
sSQL2 = sSQL2 & "'" & sCampos(i) & "')"
End If
DoCmd.RunSQL sSQL2
End If
Next
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
DoCmd.SetWarnings True
Debug.Print "TERMINADO"
End Sub
</pego>
Adáptalo a tu situación.
Salu2
--
José Mª Fuey
[MS MVP Access]