Public Function fKonkat( _ tPole As String, _ tTable As String, _ Optional tWhere As String, _ Optional tRozdzielacz As String = ", ") Dim rec As Recordset Dim strSQL As String Dim konkat As String On Error GoTo err_exit strSQL = "Select " & tPole & " FROM " & tTable If tWhere = "" Then Else strSQL = strSQL & " WHERE " & tWhere End If Set rec = CurrentDb.OpenRecordset(strSQL, dbOpenForwardOnly) With rec Do Until .EOF konkat = konkat & tRozdzielacz & .Fields(tPole) .MoveNext Loop .Close End With Set rec = Nothing konkat = Mid(konkat, Len(tRozdzielacz) + 1) err_exit: fKonkat = konkat End FunctionWykorzystanie w kwerendzie:
Select ID, pole1, pole2, fkonkat("PoleDoZbitki", "Tabela2", "ID = " & ID) From Tabela1Albo bezpośrednio na tabeli Tabela2:
Select ID, First(fkonkat("PoleDoZbitki", "Tabela2", "ID = " & ID)) From Tabela2 Group By IDFunkcję można też rozbudować o dodatkowy parametr sortowania (w przypadku tej "agregacji" czasami dość istotny ;-)
Krzysztof Naworyta