LEADERSOFT.ru
Разработка на заказ программ и сайтов
Разработка
Заказ программы
Прайс-лист
Техническое задание
Проектная документация
Наши клиенты
Реклама и продвижение
Магазин
Перейти в магазин
Новинки магазина
Бизнес программы
Финансовый учет
Документооборот
Исходные коды
Интернет решения
Обучение
Перейти в раздел
Форумы по разработке
Примеры на Access
Рассылка статей
Магазин IT литературы
Блог
Все статьи
Microsoft Access (VBA)
Microsoft Access (Проекты)
Microsoft ASP.NET
Сервисы Google
Технические задания
Новости IT технологий
Сервисы
Форумы разработчика
Контакты
О компании
Регистрация на сайте
Подписка на новости по Email
Сообщество Google+
Подписка subscribe.ru
Новости в формате Атом
Загрузить
Загрузить каталог программ
Форумы по информационным технологиям
Начало
Forums
Регистрация
|
Вход
Forums
Обновлено ::
08 февраля 2005
Форумы
Поиск
Список форумов
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: суммирова...
Тема: суммирование текстового поля
15.06.2007 21:07:58
makc
48 сообщения
Тема: суммирование текстового поля
Имеем
0001 Иванов
0002 Петров
0003 Сидоров
0002 Иванов
0001 Сидоров
Как можно в запросе или отчете получить ?
0001 Иванов, Сидоров
0002 Петров, Иванов
0003 Сидоров
Я нашел наверняка самый сложный путь, сделал прекрестный запрос в котором получил
Code Иванов Петров Сидоров
0001 Иванов Сидоров
0002 Иванов Петров
0003 Сидоров
и собрал их в конце Иванов&Петров&Сидоров казалось бы пускай так, ведь работает, но к сожелению Петров не всегда попадает в запрос и вся сборка сыпится
Может есть какаянибудь функция типа ЕСЛИ ПЕТРОВ ЭТО ИМЯ ПОЛЯ ТОГДА ПЕТРОВ ИНАЧЕ " " или я с самого начала пошел не по тому пути?
P.S. Общий раздел по запросам
Автор:
Makc
от 24.01.2004 14:26:51
Источник ...
15.06.2007 21:07:58
All
4316 сообщения
RE: суммирование текстового поля
Такую обработку лучше делать на VBA. Вместо поля Code использовано поле id.
1. Составляем запрос на группировку:
SELECT Table1.id, funjoinFIO([id]) AS FIO FROM Table1 GROUP BY Table1.id;
2. Пишем функцию для объединения строк.
Public Function funJoinFIO(id As Long) As String
Dim dbs As Database, rst As Recordset, i As Long, var1 As Variant, var2
On Error GoTo 999
Set dbs = CurrentDb
funJoinFIO = ""
Set rst = dbs.OpenRecordset("SELECT [FIO] FROM [table1] WHERE [id]=" & id & " ORDER BY [FIO]")
If rst.RecordCount <> 0 Then
With rst
.MoveLast
.MoveFirst
For i = 0 To rst.RecordCount - 1
funJoinFIO = funJoinFIO & rst!FIO & " "
rst.MoveNext
Next
End With
End If
rst.Close
Set dbs = Nothing
Exit Function
999:
MsgBox Err.Description
End Function
P.S. Общий раздел по запросам
Автор:
Admin
от 0:00:00
Источник ...
15.06.2007 21:07:58
makc
48 сообщения
RE: суммирование текстового поля
не понятна строка
Set rst = dbs.OpenRecordset("SELECT [FIO] FROM [table1] WHERE [id]=" & id & " ORDER BY [FIO]"
recordset с таким условием WHERE [id]=" & id & " ничего не дает?
P.S. Общий раздел по запросам
Автор:
makc
от 27.01.2004 8:29:27
Источник ...
15.06.2007 21:07:58
All
4316 сообщения
RE: суммирование текстового поля
Задачка простая, чуть чуть надо подумать. Этот запрос отбирает табличные записи по id:
[id] [FIO]
0001 Иванов
0001 Сидоров
Сама же функция после обработки этих записей дает текст: Иванов Сидоров, который и выводится в запросе на группировку.
P.S. Общий раздел по запросам
Автор:
Admin
от 0:00:00
Источник ...
15.06.2007 21:07:58
makc
48 сообщения
RE: суммирование текстового поля
СПАСИБО!!! все таки мир не без добрых людей
P.S. Общий раздел по запросам
Автор:
makc
от 28.01.2004 7:36:02
Источник ...
Страница 1 из 1
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: суммирова...
Одноуровневый вид
Древовидная структура
Самый старый из новых
Новейший из старых
Поиск
Список форумов
Начало
|
Forums
Copyright 2002-2016 Leadersoft.ru
::
Leadersoft
::
Соглашение о безопасности
::
Условия использования