It's possible to do. My reply was meant only to state that it's not
necessary to do this in your tables. Leave them the way they are and
manipulate the way you display them.
Otherwise, I would use VBA code to do what you seek. Something along these
lines.....
First, create the new table that is to receive the new records and data.
Second, use code similar to this to run the process:
Public Sub ConcatenateRecords()
Dim rstOld As DAO.Recordset, rstNew As DAO.Recordset
Dim dbs As DAO.Database
Dim strOldWord As String, strNewWord As String
Dim strDefinition As String
Dim strSQLold As String
Set dbs = CurrentDb()
strSQLold = "SELECT * FROM OldTableName ORDER BY Field1;"
Set rstNew = dbs.OpenRecordset("NewTableName", dbOpenTable, dbAppendOnly)
Set rstOld = dbs.OpenRecordset(strSQLold, dbOpenDynaset, dbReadOnly)
With rstOld
.MoveFirst
strOldWord = !Field1
Do While .EOF = False
strDefinition = strDefinition & IIf(strDefintion = "", "", ", ")
&!Field2
.MoveNext
If .EOF = True Then
Exit Do
Else
strNewWord = !Field1
If strOldWord <> strNewWord Then
rstNew.AddNew
rstNew!Field1 = strOldWord
rstNew!Field2 = strDefinition
rstNew.Update
strDefintion = ""
strOldWord = strNewWord
End If
End If
Loop
End With
rstNew.AddNew
rstNew!Field1 = strOldWord
rstNew!Field2 = strDefinition
rstNew.Update
rstNew.Close
Set rstNew = Nothing
rstOld.Close
Set rstOld = Nothing
dbs.Close
Set dbs = Nothing
End Sub