1. Такой функции нет, поэтому придется делать группировку по полю Код и писать обработку запроса в VBA. 2. Можно использовать в запросе TRANSFORM для создания перекрестной таблицы, но это не точное решение. TRANSFORM Sum(Таблица1.Кол_во) AS [Sum-Кол_во] SELECT Таблица1.Код FROM Таблица1 GROUP BY Таблица1.Код PIVOT Таблица1.Артикул;
Мне кажется можно сделать проще. Для этого надо написать функцию, которая будут объединять строки по коду. Ее нужно добавить в запрос SELECT Таблица1.Код, funGetStrings([Код]) AS Артикул FROM Таблица1 GROUP BY Таблица1.Код; Вот пример этой функции. Public Function funGetStrings(Код As Long) As String Dim dbs As DAO.Database, rst As DAO.Recordset, i As Integer funGetStrings = "" Set dbs = CurrentDb Set rst = dbs.OpenRecordset("SELECT * FROM [Test] WHERE [Код]=" & Код) Dim Arr As Variant If rst.RecordCount <> 0 Then With rst .MoveLast 'Заполняем запрос .MoveFirst 'Устанавливаем строку i = rst.RecordCount 'определяем число записей Arr = rst.GetRows(i) 'Прочитываем данные End With End If rst.Close 'Закрываем запрос Set dbs = Nothing 'Закрываем базу ' Обработка массива и возврат строки ' For n = 0 to i ' funGetStrings = funGetStrings + Arr(i) ' NEXT ' End Function