SELECT DISTINCT T1.[id фио], T1.ФИО, FieldToLine([T1].[id фио]) AS ВсеТилифоны
FROM T1
Public Function FieldToLine(ID As Long) As String
Dim Adors As New ADODB.Recordset
Dim strSQL As String
strSQL = "SELECT (T3.[Тип телефона] + ':') & T2.Телефон " & _
"FROM T3 INNER JOIN T2 ON T3.[id тип телефона] = T2.[Тип телефона] " & _
"WHERE (T2.[id ФИО]=" & CStr(ID) & ")"
Adors.Open strSQL, CurrentProject.Connection, , , adCmdText
If Not Adors.EOF Then FieldToLine = Adors.GetString(, , , ";")
Adors.Close
If Len(FieldToLine) > 0 Then FieldToLine = Left$(FieldToLine, Len(FieldToLine) - 2)
End Function