Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.07.2009, 10:27   #1
tattynaz
 
Регистрация: 30.07.2009
Сообщений: 5
По умолчанию Проблема с DBGrid

Помого мне, пожалуйста!!!
На форме есть 2 DBGrid, первый выводит список - заемщиков, второй должен выводит список кредитов, заемщиков отображенных в первом DBGrid. Если я связываю по ключу - отображается список кредитов конкретного заемщика, на котором стоит курсор. Если не связываю то список всех кредитов.
Как сделать так как мне надо????
Спасибо за ответ.
tattynaz вне форума Ответить с цитированием
Старый 30.07.2009, 11:13   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну вот примерно так:
Dbgrid 1 связан с Project
Dbgrid 2 связан с Workers
Тогда примерно так будет выглядеть запрос для второго Грида.

Код:
SELECT Project.id_project, Project.qww, Workers.id_worker
FROM Project INNER JOIN Workers ON Project.id_project = Workers.id_project;
В общем смысл весь в JOIN
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.08.2009, 11:15   #3
tattynaz
 
Регистрация: 30.07.2009
Сообщений: 5
По умолчанию

Если делать таким образом, то второй запрос не реагирует на изменения первого. Дело в том что у меня первый фильтуется в зависимости от тех или иных условий.
tattynaz вне форума Ответить с цитированием
Старый 03.08.2009, 11:40   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пот когда первый изменился выполняй второй.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.08.2009, 21:30   #5
tattynaz
 
Регистрация: 30.07.2009
Сообщений: 5
По умолчанию

Или я не правильно ябъясняю, или уже туплю.
У меня есть 2 запроса:
1. Q_Zaem:
SELECT
Kredit.Tip_kredita, Kredit.Summa, Kredit.Data_vydachi,
Kredit.Kod, Kredit.Data_pogasheniya, Kredit.Zakrytie
FROM Kredit
WHERE (Kredit.Data_vydachi)>=:Date1 And (Kredit.Data_vydachi)<=:Date2;

2. Q_FinPok:
SELECT Pokazateli.Kredit,
Sum(Pokazateli.Obyem_prodazh) AS [Sum - Obyem_prodazh],
Sum(Pokazateli.Obyem_pr_tsena) AS [Sum - Obyem_pr_tsena],
Sum(Pokazateli.Rasxody) AS [Sum - Rasxody],
Sum(Pokazateli.Pokupka) AS [Sum - Pokupka],
Sum(Pokazateli.Trudozatraty) AS [Sum - Trudozatraty],
Round(Avg(Pokazateli.Kol_rabotnikov ),0) AS [Avg - Kol_rabotnikov]
FROM Kredit INNER JOIN Pokazateli ON Kredit.Kod = Pokazateli.Kredit
GROUP BY Pokazateli.Kredit;

В результате 2 запрос выводит все финансовые показатели, которые забиты в базу, а надо только тех кредитов, что выводит 1 запрос.
tattynaz вне форума Ответить с цитированием
Старый 17.08.2009, 15:37   #6
lexaltd
Форумчанин
 
Регистрация: 21.07.2008
Сообщений: 192
По умолчанию

Ну так заноси в глобальную переменную , все фамилии или ID заемщиков
в первом запросе
Код:
s := ''
 while not Query1.Eof do 
  begin
  s := s + Query1.FldByName['FID'].AsString + ',';
  end;
Delete(s, Length(s), 1);
А во втором подставляй эту переменную в SQL запрос
Код:
FID in ('+ s +')
P.S
И вообще ты же в первом запросе ищеш их по какому ту критерию - так что нельзя во втором запросе их искать по тому же критерию

Последний раз редактировалось lexaltd; 17.08.2009 в 19:28.
lexaltd вне форума Ответить с цитированием
Старый 20.08.2009, 08:56   #7
tattynaz
 
Регистрация: 30.07.2009
Сообщений: 5
По умолчанию

Цитата:
Сообщение от lexaltd Посмотреть сообщение
Ну так заноси в глобальную переменную , все фамилии или ID заемщиков
в первом запросе
Код:
s := ''
 while not Query1.Eof do 
  begin
  s := s + Query1.FldByName['FID'].AsString + ',';
  end;
Delete(s, Length(s), 1);
А во втором подставляй эту переменную в SQL запрос
Код:
FID in ('+ s +')
P.S
И вообще ты же в первом запросе ищеш их по какому ту критерию - так что нельзя во втором запросе их искать по тому же критерию

Тогда проще наверно сделать один запрос, т.к. в первом кроме поиска есть и фильтрация по тем или иным критериям. Просто получается большой запрос, боюсь что будет ключить.

А то что Вы предложили, у меня висит при компиляции на строчке
Код:
while not Query1.Eof do )
Но все равно спасибо за помощь!!
tattynaz вне форума Ответить с цитированием
Старый 20.08.2009, 09:28   #8
lexaltd
Форумчанин
 
Регистрация: 21.07.2008
Сообщений: 192
По умолчанию

Цитата:
Сообщение от tattynaz Посмотреть сообщение
А то что Вы предложили, у меня висит при компиляции на строчке
Код:
while not Query1.Eof do )
Но все равно спасибо за помощь!!
Query1 замени на имя своего Query.
Что за ошибку пишет внизу ?
Какая база , какими компонентами пользуешся?
И что это за скобка в конце?

Последний раз редактировалось lexaltd; 20.08.2009 в 09:32.
lexaltd вне форума Ответить с цитированием
Старый 20.08.2009, 10:36   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
И что это за скобка в конце?
Смайлик )
Цитата:
Просто получается большой запрос, боюсь что будет ключить.
Не бойся. Луччче большой запрос чем большой геморрой выборки вручную.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.08.2009, 15:58   #10
tattynaz
 
Регистрация: 30.07.2009
Сообщений: 5
По умолчанию

Код:
Query1 замени на имя своего Query.
Заменила.
Код:
Что за ошибку пишет внизу ?
В том-то и дело ничего не пишет, при компиляции висит и exe не запускает.
Код:
Какая база , какими компонентами пользуешся?
База в Access, 2 запроса TQuery, для вывода инфо использзую DBGrid.
tattynaz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перемещение даннах из dbgrid в dbgrid Hobbit_88 БД в Delphi 7 10.06.2009 13:33
перенос данных из DBGrid в DBGrid KingSize БД в Delphi 17 24.04.2009 09:30
Проблема с DBGrid rainbow Общие вопросы Delphi 1 02.10.2008 08:09
проблема с отображением DBGrid gotex БД в Delphi 12 04.06.2008 01:06
DBGrid. Проблема со считыванием инфы из столбца. Teenager БД в Delphi 6 18.01.2008 15:33