Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2016, 17:00   #1
Rose16
Пользователь
 
Регистрация: 09.12.2016
Сообщений: 14
По умолчанию Объединение строк в одной таблице через запятую

Дана таблица.-0wM_RfNAiw.jpg Нужно сделать SQL запрос, чтобы в итоге получилась вот такая таблица номер 2.FUxj5aUvAsk.jpg
Rose16 вне форума Ответить с цитированием
Старый 09.12.2016, 17:24   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

1. пишем функцию
Код:
Function allLinesRose16(SKU As String)
    Dim sSql As String
    Dim rs As DAO.Recordset
    sSql = "SELECT [Упаковка] from Таблица2 WHERE [Продукция] like """ & SKU & "*"""
    Set rs = CurrentDb.OpenRecordset(sSql)
    Do Until rs.EOF
        allLinesRose16 = allLinesRose16 + ", " & (rs(0) & "")
        rs.MoveNext
    Loop
    If Len(allLinesRose16) > 2 Then allLinesRose16 = Mid(allLinesRose16, 2)
    Set rs = Nothing
End Function
2. пишем запрос
Код:
SELECT Таблица2.Продукция, Таблица2.Цех, allLinesRose16([Продукция]) AS Выражение1
FROM Таблица2
GROUP BY Таблица2.Продукция, Таблица2.Цех, allLinesRose16([Продукция]);
3. запускаем запрос с п.2
4. для цеха - допиливаем по аналогии.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.

Последний раз редактировалось Aleksandr H.; 09.12.2016 в 17:30.
Aleksandr H. вне форума Ответить с цитированием
Старый 09.12.2016, 19:10   #3
Rose16
Пользователь
 
Регистрация: 09.12.2016
Сообщений: 14
По умолчанию

не работает( пишет : обнаружены символы за пределами SQL
Rose16 вне форума Ответить с цитированием
Старый 09.12.2016, 19:36   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от Rose16 Посмотреть сообщение
не работает( пишет : обнаружены символы за пределами SQL
Значит неправильно написано.
Кста, почему 1245-98 на 2 строки разбивается?
Вложения
Тип файла: rar Rose16.rar (18.4 Кб, 30 просмотров)
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 09.12.2016, 23:51   #5
Rose16
Пользователь
 
Регистрация: 09.12.2016
Сообщений: 14
По умолчанию

Потому что в одном Цех 3 только, а в другом и Цех1, Цех3
задание такое
Rose16 вне форума Ответить с цитированием
Старый 10.12.2016, 00:05   #6
Rose16
Пользователь
 
Регистрация: 09.12.2016
Сообщений: 14
По умолчанию

в любом случае спасибо большое!огроменное)
Rose16 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Если дата (ддд), через запятую Евгений Таб Microsoft Office Excel 4 21.08.2014 16:12
Вывод массива выборки через запятую Nenado PHP 2 01.08.2013 20:48
DBLookupComboBox занести в Edit через запятую бумблгум БД в Delphi 2 07.02.2013 12:16
StringList. Вывод списка через запятую(знак , ) Человек_Борща Общие вопросы Delphi 7 25.05.2012 16:50
Ввод данных в ячейку из списка через запятую Amelie_L Microsoft Office Excel 4 20.01.2010 17:46