|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#16
|
|||
|
|||
Цитата:
Так сначала, две таблицы связаны по полю ID. И когда клиент сделал несколько заказов то это отображается во второй таблице, а так как они связаны по ID и в первом dbgride начинают повторяться записи. |
#17
|
|||
|
|||
Цитата:
попробую что получится, спасибо. Отпишусь. Последний раз редактировалось Ser-kot, 28.04.2012 в 09:54. |
#18
|
||||
|
||||
лично я так себе представляю эту задачку:
-на форме 2 грида: первый сверху, второй снизу -в первом гриде отображаются все клиенты: ID | ФИО -во втором отображаются заказы сделаные выбраным клиентом ID | Заказы -данные первого грида статичны, по ним можно только перемещаться, ну там добавлять/удалять -данные во втором меняются в зависимости на каком клиенте находится указатель в первом гриде, т.е. отображают заказы только по этому клиенту обратная реализация: во втором гриде отображаются клиенты, которые делали заказ, который выбран в первом гриде. тогда запрос заказов будет статичным, а клиентов динамическим. Пишу программы за еду. __________________ |
#19
|
|||
|
|||
Цитата:
Не помогло, тоже самое. Всеравно размножаются... |
#20
|
||||
|
||||
Цитата:
P.S. Да. и самое важное, опишите прям по пунктам, чего Вы добиться пытаетесь. Может быть можно все и проще сделать, мы поможем Прямо только типа такого: 1. Нажимаю такую-то кнопку. 2. В первой таблице происходит следующее. 3. Во второй таблице происходит следующее и т.п. Google в помощь Последний раз редактировалось Ildar-tsr, 28.04.2012 в 10:46. |
#21
|
||||
|
||||
Цитата:
Код:
SQL.Text:='select distinct id, clientname from (Clients.dbf c left outer join Orders.dbf o on c.id=o.id)'; Пишу программы за еду. __________________ |
#22
|
|||
|
|||
ну если хотите вот полный запрос
select * from ((((klient left outer join zakaz on klient.id = zakaz.id) left outer join rayon ON rayon.kod=klient.ray) left outer join karta ON karta.nom=klient.karta) left outer join menedger ON menedger.nom=klient.men) order by fio поля базы klient : id, fio, ray, karta, men. Поля базы zakaz: id, tovar поля базы rayon: kod, nazvanie поля базы karta: nom, tip поля базы menedger: nom, fiom в dbgrid1 отображаются id, фамилия клиента, район проживания, тип дисконтной карты, имя менеджера. В dbgrid 2 отображаются: id, и название заказа который сделал клиент. Последний раз редактировалось Ser-kot, 28.04.2012 в 12:35. |
#23
|
||||
|
||||
Цитата:
Пишу программы за еду. __________________ |
#24
|
||||
|
||||
А теперь познавательный эксперимент!
Добавьте на форму кнопку и пропишите: Код:
procedure TForm1.Button1Clikc(Sender: TObject); var q: TADOQuery; begin q:= TADOQuery.Create(nil); q.Connection:= ADOConnection1; //тут свой коннект конечно же q.SQL.Text:= 'select * from (klient left join zakaz on klient.id = zakaz.id)'; q.Open; ShowMessage(inttostr(q.RecordCount)); q.Close; q.Free; end; Google в помощь |
#25
|
|||
|
|||
Цитата:
Выдает 372. |
#26
|
||||
|
||||
Таблицы уже позаполняли?
База данных на чем? Google в помощь |
#27
|
|||
|
|||
Да таблицы уже заполнены, причем лет так 15 назад. Та старая прога запускается через bat -овский файл. На чем написана не знаю. Вот понадобилось добавить запросов с выводом на печать. Возможно писалась на кларионе.
|