![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#11 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
"Инструмента" с помощью которого можно "вывести..в отчете не столбцом, в строку через запятую.." в комплекте MS Access нет, но его можно сделать самостоятельно создав пользовательскую функцию.
Евгений. |
![]() |
![]() |
![]() |
#12 |
Регистрация: 27.01.2010
Сообщений: 9
|
![]()
Добрый вечер, Евгений!!!!!!!!!!
У Вас, наверняка, есть такая созданная функция. Можете, если не трудно, выслать. |
![]() |
![]() |
![]() |
#13 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
У меня не было запроса и специально для Вас созданной функции, но сделать их можно так:
создайте модуль и разместите в нем подобный код Код:
Код:
Евгений. |
![]() |
![]() |
![]() |
#14 |
Регистрация: 27.01.2010
Сообщений: 9
|
![]()
ПРИВЕТ, ЕВГЕНИЙ
У меня есть вот такой код: Public Function CM_RecsInStrExt(ByVal BASE As String _ , ByVal Kv As String _ , Optional ByVal SimvRazd As String = ", ") As String ' Ñêîêîâ ' ôîðìèðóò ñòðîêó èç çàïèñåé òàáëèöû, ðàçäåëÿÿ èõ ðàçäåëèòåëÿìè (çàïÿòûìè) ' BASE - çàïðîñ (ìîæåò áûòü è èìåíåì òàáëèöû èëè ñîõðàíåííîãî çàïðîñà) ' Kv - èìÿ ïîëå, èç êîòîðîãî áðàòü äàííûå ' SimvRazd - ñèìâîë ðàçäåëèòåëü çíà÷åíèé On Error GoTo Err_ Dim stRet As String Dim rstTable As Recordset Set rstTable = CurrentDb.OpenRecordset(BASE, dbOpenDynaset) ' åñëè åñòü çàïèñè òî If rstTable.RecordCount > 0 Then ' ýòî ïîòîìó ÷òî ýòè çíà÷åíèÿ ðàçäåëÿþòñÿ çàïÿòûìè è ñòàâÿòñÿ ïåðåä ïðèñâàèâàíèåì _ çíà÷-ÿ èç òàáëèöû (ñì. öèêë íèæå), _ à ïåðåä ïåðâûì çíà÷åíèåì çàïÿòóþ ñòàâèòü íå íóæíî stRet = Nz(rstTable(Kv)) rstTable.MoveNext End If Do While Not rstTable.EOF stRet = stRet & SimvRazd & Nz(rstTable(Kv)) rstTable.MoveNext Loop rstTable.Close CM_RecsInStrExt = stRet Exit_: Exit Function Err_: Err.Raise Err.Number, "CM_RecsInStrExt() ->" & Err.Description, Err.Description Resume Exit_ End Function Только я не знаю как запустить этот модуль. Модуль наз. Module1 |
![]() |
![]() |
![]() |
#15 |
Регистрация: 27.01.2010
Сообщений: 9
|
![]()
Public Function CM_RecsInStrExt(ByVal BASE As String _
, ByVal Kv As String _ , Optional ByVal SimvRazd As String = ", ") As String ' Скоков ' формирут строку из записей таблицы, разделяя их разделителями (запятыми) ' BASE - запрос (может быть и именем таблицы или сохраненного запроса) ' Kv - имя поле, из которого брать данные ' SimvRazd - символ разделитель значений On Error GoTo Err_ Dim stRet As String Dim rstTable As Recordset Set rstTable = CurrentDb.OpenRecordset(BASE, dbOpenDynaset) ' если есть записи то If rstTable.RecordCount > 0 Then ' это потому что эти значения разделяются запятыми и ставятся перед присваиванием _ знач-я из таблицы (см. цикл ниже), _ а перед первым значением запятую ставить не нужно stRet = Nz(rstTable(Kv)) rstTable.MoveNext End If Do While Not rstTable.EOF stRet = stRet & SimvRazd & Nz(rstTable(Kv)) rstTable.MoveNext Loop rstTable.Close CM_RecsInStrExt = stRet Exit_: Exit Function Err_: Err.Raise Err.Number, "CM_RecsInStrExt() ->" & Err.Description, Err.Description Resume Exit_ End Function |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запрос с группировкой значений | setrik777 | Общие вопросы Delphi | 5 | 20.10.2009 11:49 |
Копирование строк с включенной группировкой по столбцам | ALev | Microsoft Office Excel | 4 | 07.07.2009 11:44 |
SQL запрос на подсчет суммы неотрицательных чисел таблици бд | xxxsas | SQL, базы данных | 2 | 05.02.2009 23:40 |
Подскажите правильный запрос c группировкой | frostyland | Microsoft Office Access | 2 | 03.09.2008 10:22 |