Строка по данным записей подчинённой формы
Статья написана по мотивам вопросов на одном из форумов.
Бывает (ну бывает), нужно получить совокупную строку из данных подчинённой формы (одной стркой)
Для выввода значения в поле главной формы:
В главной форме, в нужное поле, ставим свойство Источник Данных = SFSubForm([Подчинённая_Форма];"Название_Поля_Откуда")
Где : "[Подчинённая_Форма]" ссылка на обьект "подчинённая форма", "Название_Поля_Откуда" - понятно, а делитель пропущен (будет = ; ).
Предупреждаю! - на большом кол-ве записей может притормаживать.
Public Function SFSubForm(ObjectSubForm As SubForm, strFieldName$, Optional sCut$ = ";") As String
Dim rst As DAO.Recordset
On Error GoTo SFSubForm_Err
Set rst = ObjectSubForm.Form.RecordsetClone
With rst
Do Until .EOF = True
SFSubForm = SFSubForm & .Fields(strFieldName) & sCut
.MoveNext
Loop
End With
SFSubForm_End:
On Error Resume Next
rst.Close
Set rst = Nothing
Exit Function
SFSubForm_Err:
SFSubForm = "ERR: " & Err.Number
Resume SFSubForm_End
End Function
На снимке, источник данных поля:
=SFSubForm([objSubForm];"GoodName";Chr(13) & Chr(10))
... последний аргумент = ПереводСтроки (вместо точки с запяотой по умолчанию)

|