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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2019, 12:22   #11
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
и если я делаю программу через ADOTable то всё работает правильно,как и надо.
А как надо-то ?
http://www.programmersforum.ru/showthread.php?t=286352
быть может ?
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Старый 22.04.2019, 12:43   #12
drozdov9191
Пользователь
 
Регистрация: 13.12.2018
Сообщений: 19
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
А как надо-то ?
http://www.programmersforum.ru/showthread.php?t=286352
быть может ?
Надо сделать через ADOQuery,а не через ADOTable.Потому что надо сделать что бы можно было сделать отчет из двух связанных таблиц(в моём случае LichData(ФИО) и Modul(Название и баллы).Просто я как понял через ADOTable нельзя сделать связанный отчёт или я что-то не правильно понял...но прочитал что люди через ADOQuery делают.
drozdov9191 вне форума Ответить с цитированием
Старый 22.04.2019, 14:02   #13
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
А как надо-то ?
Цитата:
Надо сделать через ADOQuery,а не через ADOTable.
КАКИЕ данные в DBGrid1 ?
из какой(-их) таблиц(ы).
и КАК они должны быть отобраны(отфильтрованы)

КАКИЕ данные в DBGRid2 ?
таблицы + условия выбора
КАКИЕ данные в DBGrid3 ?
таблицы + условия выбора.

все это своими словами (со ссылками на используемые таблицы и поля базы данных из #1).
Цитата:
что бы можно было сделать отчет из двух связанных таблиц
ссылку читал ??? а дальше проходил?
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Старый 23.04.2019, 15:23   #14
drozdov9191
Пользователь
 
Регистрация: 13.12.2018
Сообщений: 19
По умолчанию

Хорошо,сейчас.
drozdov9191 вне форума Ответить с цитированием
Старый 23.04.2019, 15:24   #15
drozdov9191
Пользователь
 
Регистрация: 13.12.2018
Сообщений: 19
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
КАКИЕ данные в DBGrid1 ?
из какой(-их) таблиц(ы).
и КАК они должны быть отобраны(отфильтрованы)

КАКИЕ данные в DBGRid2 ?
таблицы + условия выбора
КАКИЕ данные в DBGrid3 ?
таблицы + условия выбора.

все это своими словами (со ссылками на используемые таблицы и поля базы данных из #1).

ссылку читал ??? а дальше проходил?
DBGrid1 - это таблица LichData. Просто отображаются вводимые данные.
DBGrid2 - это таблица Modul. Просто отображаются вводимые данные.
DBGrid3 - это таблица Prikaz. Просто отображаются вводимые данные.

Создавая Приказ в DBGrid3, к нему создаются Студенты DBGrid1, у каждого студента свои модули DBGrid2.
Итог:переключая DBGrid3(Таблица Prikaz, у каждого приказа отображаются свои студенты с модулями).

У меня все сделано на ADOTable и работает как надо.С ADOQuery нет,не выходит.
drozdov9191 вне форума Ответить с цитированием
Старый 23.04.2019, 15:58   #16
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
DBGrid1 - это таблица LichData. Просто отображаются вводимые данные.
AdoQuery1.SQL:='select * from lichData';
DBgrid1.DataSource.Dataset:=ADOQuer y1;

Цитата:
DBGrid2 - это таблица Modul. Просто отображаются вводимые данные.
AdoQuery2.SQL:='select * from lichData';
DBgrid1.DataSource.Dataset:=ADOQuer y1;
[/QUOTE]Прописал:
Код:
ADOQuery1 в SQL - Select * from LichData
ADOQuery2 в SQL - Select * from Modul
ADOQuery2 в SQL - Select * from Prikaz
Теперь все данные с таблиц видны в своих DBGrid.[/QUOTE]
т.е. сделано.

Цитата:
Но как теперь мне связать все эти 3 таблицы друг с другом?
и что ЭТО значит связать?
показать ТОЛЬКО нужные данные? а какие данные нужны?
Код:
select * from ... where ...
и дальше по схеме master -details (мастер- деталь). моя первая ссылка.
а так же Мартин Губер. Понимание SQL.
...?
Цитата:
Prikaz(номер приказа) с LichData(номер),LichData(код) с Modul(студент)
???

еще одна телепатическая догадка.
http://www.programmersforum.ru/showthread.php?t=276824
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Старый 23.04.2019, 19:45   #17
drozdov9191
Пользователь
 
Регистрация: 13.12.2018
Сообщений: 19
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
AdoQuery1.SQL:='select * from lichData';
DBgrid1.DataSource.Dataset:=ADOQuer y1;


AdoQuery2.SQL:='select * from lichData';
DBgrid1.DataSource.Dataset:=ADOQuer y1;
Прописал:
Код:
ADOQuery1 в SQL - Select * from LichData
ADOQuery2 в SQL - Select * from Modul
ADOQuery2 в SQL - Select * from Prikaz
Теперь все данные с таблиц видны в своих DBGrid.[/QUOTE]
т.е. сделано.


и что ЭТО значит связать?
показать ТОЛЬКО нужные данные? а какие данные нужны?
Код:
select * from ... where ...
и дальше по схеме master -details (мастер- деталь). моя первая ссылка.
а так же Мартин Губер. Понимание SQL.
...?

???

еще одна телепатическая догадка.
http://www.programmersforum.ru/showthread.php?t=276824
[/QUOTE]
так то,что у меня все данные выводятся я и так вижу.Но нету фильтрации как с тем же ADOTable.
Через ADOTable:
-Я создаю приказ №1 в него забиваю Иванова Ивана Ивановича.Иванову Ивану Ивановичу в таблицу(Modul) забиваю русский язык.
-Я создаю приказ №2 в него вбиваю Сидорова Сидора Сидоровича.Ему в таблице(Modul) прописываю математика.
Через ADOTable:нажимаю на приказ №1(таблица prikaz,Grid3)в таблице (LichData,Grid1) у меня отображается Иванов Иван Иванович и его оценки в таблице(Modul,Grid2).
Нажимаю на приказ №2 (таблица Prikaz,Grid3) у меня отображаются уже данные Сидорова Сидора Сидоровича в таблице LichData(Grid1) и его оценки в таблице Modul(Grid2).
Так у меня работает программа через ADOTable.
Когда я всё делаю на ADOQuery,у меня просто все данные в куче.Выбирая приказ к примеру №1, в таблице LichData(Grid1) отображаются люди и их модуля(таблица Modul Grid2) из других приказов(просто всё в куче,не как с ADOTable,как я выше описал принцип работы).


Вопрос как раз в теме такой:как сделать что бы через ADOQuery работало так же как у меня работает через ADOTable.

Последний раз редактировалось drozdov9191; 23.04.2019 в 19:48.
drozdov9191 вне форума Ответить с цитированием
Старый 23.04.2019, 19:56   #18
drozdov9191
Пользователь
 
Регистрация: 13.12.2018
Сообщений: 19
По умолчанию

Вот вам скриншоты для наглядности.
На первых 2-ух показан принцип работы программы через ADOTable.
На 3-ем последнем скриншоте все сделано через ADOQuery и все в куче.Как сделать что бы так же всё работало как с ADOTable?Помогите пожалуйста.
Изображения
Тип файла: jpg 1.jpg (45.4 Кб, 121 просмотров)
Тип файла: jpg 2.jpg (45.5 Кб, 133 просмотров)
Тип файла: jpg 3.jpg (51.8 Кб, 132 просмотров)
drozdov9191 вне форума Ответить с цитированием
Старый 24.04.2019, 09:31   #19
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
.Но нету фильтрации как с тем же ADOTable.
и как долго этого пришлось добиваться.

Цитата:
Цитата:
А как надо-то ?
Цитата:
Цитата:
Надо сделать через ADOQuery,а не через ADOTable.
КАКИЕ данные в DBGrid1 ?
из какой(-их) таблиц(ы).
и КАК они должны быть отобраны(отфильтрованы)
для этого и пишется WHERE ...
Цитата:
показать ТОЛЬКО нужные данные? а какие данные нужны?
Код:
select * from ... where ...
http://www.programmersforum.ru/showthread.php?t=276824
если вопрос в показе нужных. читаем master-details связи. есть в первой моей ссылке.

и читаем азбуку SQL. Мартин Грубер. Понимание SQL.
и да их надо устанавливать самому. Access связи здесь (ADOQuery) автоматом не работают.
неудобно? зато возможностей значительно больше.

или (что возможно покажется проще на первом этапе) пишем изменение запросов при каждом изменении выбора текущей "главной" записи.
ADOQuery(1) event OnAfterScroll
Код:
ADOQuery(2).Close;
ADOQuery(2).SQL.Text:='select ... from ... where ...';
ADOQuery(2).Open;
master-detail делает это самостоятельно.

вопрос в забивании (вводе) данных. ссылка выше.
и еще http://www.programmersforum.ru/showp...16&postcount=2
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 24.04.2019 в 09:39.
evg_m на форуме Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
связь между таблицами nefa Microsoft Office Access 0 21.03.2016 18:36
Связь между таблицами SeNaT БД в Delphi 14 08.05.2013 17:45
Связь между таблицами byte916 Microsoft Office Access 3 03.08.2011 11:05
SQL - связь между таблицами. Сергей089 Microsoft Office Access 1 05.10.2010 11:49
Связь между таблицами Катрина БД в Delphi 3 17.05.2008 18:24