Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 239

/ вопрос открыт /

Приветствую, уважаемые эксперты!
Помогите разобраться со следующей проблемой, при нажатии на кнопку необходимо наименование услуг из одного столбца таблицы вывести в другую таблицу, но только в строку (ячейку) через запятую. Прикреплен файл.
В качестве СУБД используется Мicrosoft Аccеss. Доступ к базе осуществляется посредствам технологи АDО. Для вывода данных используется DBGrid.
Помогите пожалуйста! Спасибо!

К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)

Geny Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задала: Geny (статус: Посетитель)
Вопрос отправлен: 28 мая 2010, 12:54
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Vic

Здравствуйте, Geny!
Если в качестве СУБД используется MSACCESS тогда эту операцию
лучше выполнить не средствами БД, а программно с помощью приложения.
Допустим, что у Вас 3 таблицы
1ая - услуги -назовем ее tbl1
которая содержит 2 поля:
usluga (название услуги)
client (индекс клиента)
2ая - клиенты - tbl2
которая содержит 2 поля:
id (индекс клиента)
clientname (название клиента)
3-я - итого для клиента - tbl3 - куда и будут заносится все услуги для выбранного клиента в строку
которая содержит 2 поля:
id (индекс клиента)
itog (услуги в строку)
Выбрав из tbl2 клиента запросим все его услуги
SELECT usluga from tbl1 where client = :client (допустим ADOQuery1)
далее в цикле по нашему набору формируем строку (str - переменная строка)
куда и заносим все услуги из набора
while not ADOQuery1.eof do
str := str + ADOQuery1.FieldByName('usluga').AsString+', ';
после окончания цикла убираем последний знак запятой из нашей переменной str
вставим с помощью ADOcommad1 значение переменной в tbl3
INSERT INTO tbl3 (client,itog) VALUES (:client,:str)
здесь :client - значение параметра поле id из tbl2
:str - значение параметра из переменной str
Надеюсь что все понятно

Ответ отправил: Vic (статус: 1-ый класс)
Время отправки: 28 мая 2010, 17:12
Оценка за ответ: 5


Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:57
Выполнено за 0.02 сек.