|
Вопрос # 4 239/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
Помогите разобраться со следующей проблемой, при нажатии на кнопку необходимо наименование услуг из одного столбца таблицы вывести в другую таблицу, но только в строку (ячейку) через запятую. Прикреплен файл.
В качестве СУБД используется Мicrosoft Аccеss. Доступ к базе осуществляется посредствам технологи АDО. Для вывода данных используется DBGrid.
Помогите пожалуйста! Спасибо!
К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)
 |
Вопрос задала: 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
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|