Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Склейка строк / 8 сообщений из 8, страница 1 из 1
06.08.2003, 12:18
    #32228537
SAP2003
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Склейка строк
Народ! Помогите плиз.
Есть таблица с одним полем и значениями:

field
----
111
222
333
444

Как склеить значения поля, т.е. получить одну запись - все значения через пробел (111 222 333 444). Есть ли аналогия функции SUM, только со строками?
Хотелось бы, чтобы это выполнялось в запросе.
...
Рейтинг: 0 / 0
06.08.2003, 12:24
    #32228550
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Склейка строк
В запросе это невозможно.
...
Рейтинг: 0 / 0
06.08.2003, 12:27
    #32228557
SAP2003
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Склейка строк
А если не в запросе?
...
Рейтинг: 0 / 0
06.08.2003, 12:27
    #32228558
Albert Gor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Склейка строк
Есть окольная дорога :). Пишется пользовательская функция, в которой открывается рекордсет, строки склеиваются .GetStringом. Пользовательская функция подставляется в поле запроса.
...
Рейтинг: 0 / 0
06.08.2003, 12:28
    #32228559
SAP2003
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Склейка строк
А поподробнее в этом месте, плиз
...
Рейтинг: 0 / 0
06.08.2003, 12:42
    #32228587
Albert Gor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Склейка строк
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Function GetIt() As String
Dim rec As New ADODB.Recordset
  With rec
    .ActiveConnection = CurrentProject.Connection
    .Source =  "SELECT field1 from table1" 
    .Open
    GetIt = rec.GetString(, ,  "", "  ")
  End With
End Function


Код: plaintext
1.
? getit
 1111   2222   3333   4444  


Код: plaintext
SELECT Getit() AS Expr1 FROM Table1;
...
Рейтинг: 0 / 0
06.08.2003, 14:20
    #32228790
SAP2003
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Склейка строк
Спасибо, попробую.
...
Рейтинг: 0 / 0
06.08.2003, 15:15
    #32228904
SAP2003
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Склейка строк
Albert Gor, большое спасибо. Все заработало.
НО! У меня возникла другая проблема.
У меня есть две таблицы: aaa, bbb (перекрестный запрос)

aaa
-------
SELECT Comp.*, comp_dev.*, Device.*, Device_type.*
FROM [Comp], comp_dev, Device, Device_type
WHERE Comp.id_comp=comp_dev.id_comp AND comp_dev.id_dev=Device.id_dev AND Device.id_type=Device_type.id_type;

bbb
------
TRANSFORM GetIt() AS Выражение1
SELECT aaa.Comp.Inv_no
FROM aaa
GROUP BY aaa.Comp.Inv_no
PIVOT aaa.Device_type.type_dev;

Так вот, твоя функция склеивает все значения field1. А мне необходимо вызывать функцию из запроса bbb, т.е. ко-во записей в field1 будет менятся. А в функции значения field1 всегда постоянны.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Склейка строк / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]