I dati della Form sono quelli che ti servono ed accessibili dai Controlli Visibili, ma i dati della SubForm accessibili sono esclusivamente quelli del Record Corrente, quindi di fatto STATICI.
Per prenderli tutti devi partire dal RecordsetClone della SubForm e ciclarlo, e prelevare i valori non dai controlli, quanto dai Campi equivalenti del Recordset e ricostruire una sorta di Stringa...!
Dim strTxt As String
With Me![NomeSubForm].Form.RecordsetClone
.MoveFirst
Do Until .Eof
strTxt= strTxt & .Fields("NomeCampo1").Value & .Fields("NomeCampo2").Value & vbNewLine
.MoveNext
Loop
.Bookmark=Me![NomeSubForm].Form.Bookmark
End With
Fai attenzione a come scrivi le stringhe lunghe... ci sono limiti di lunghezza nel VBE di solito meglio scrivere così
Dim strTxt As String
strTxt=strTxt & ".......prima riga...."
strTxt=strTxt & ".......seconda riga...."
strTxt=strTxt & ".......terza riga...."
strTxt=strTxt & ".......ultima riga...."