Вниз
Скачать: CL | DM;

Создание SQL запроса   Найти похожие ветки 

 
Лесникова Марина   (2002-11-16 10:33) [0]

Мною разрабатывается программа "Ведение бух.учета по оплате за обучение студентами".
Как составить SQL - запрос (или TQuery) для того, чтобы в основном Gride отображались записи,
соответствующие группе студентов, выбранной во вспомогательном Gride.
Если кто - нибудь составляет подобную программу, напишите пожалуйста мне на E - mail: lesnikova@mail.kz. Марина.


 
Котелок ©   (2002-11-16 11:19) [1]

Вообше-то вопрос вызывает ещё больше вопросов, чем ответов.

Если я правильно понял, то есть две таблицы одна студенты, вторая оплаты. И связанны они по какомулибо полю (код студента)?

Тогда Sql запрос будет, в обшем, выглядеть так:

select opl.* from <имя таблицы оплат> opl, <имя таблицы студентов> stud where opl.<поле ID студента> = stud.<поле ID студента>


 
Alex-kosmonavt   (2002-11-16 11:43) [2]

Вообще-то в некоторых случаях можно и проще
самом деле существует механизм связывания таблиц


 
Котелок ©   (2002-11-16 12:13) [3]


> Alex-kosmonavt (16.11.02 11:43)
> Вообще-то в некоторых случаях можно и проще
> самом деле существует механизм связывания таблиц


Просто спрашивали, как через TQuery, а только такой путь вижу. Мастер-Детаил только для TTable хорошо.


 
Hun   (2002-11-17 00:06) [4]

Можно либо действительно использовать Masterdetail, либо (что на мой взгляд лучше) пользоваться событиями AfterScroll у Query или OnDataChange у DataSource. А писать надо нечто в таком духе
query2.Close;
query2.ParamByName("StudentGroupId").AsInteger:=
query1.FieldByName("StudentGroupId").AsInteger
query2.Open;


 
Fantasist ©   (2002-11-18 00:43) [5]


> Просто спрашивали, как через TQuery, а только такой путь
> вижу


А еще есть такая вещь как фильтрация. Tquery.Filter, Tquery.Filtered, Tquery.FilterOptions.


 
Котелок ©   (2002-11-18 05:56) [6]


> А еще есть такая вещь как фильтрация. Tquery.Filter, Tquery.Filtered,
> Tquery.FilterOptions.


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


 
Fantasist ©   (2002-11-18 07:45) [7]


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


Конечно. Зависит от того, насколько часто надо обновлять данные и насколько велики объемы. А так, подгрузить данные один раз и потом их фильтровать значительно быстрее. Условий задачи мы не знаем, а упомянуть возможности можем.


 
Victor_Cr ©   (2002-11-18 10:51) [8]

Создаешь два запроса TQuery, в первом откуда выбираеться группа студентов просто делаешь запрос на выбор всех групп.
А во второй запросе передаешь как параметр выбраную группу, например:


Query1.SQL = "select groupID,groupNM from groups"

Query2.SQL = "select * from infogroup where <КЛЮЧЕВОЕ ПОЛЕ> = :groupID"

где groups - справочник групп, infogroup - справочная информация по каждой группе.

после этого связываешь Query2 с DataSource Query1. И если я правильно понял задачу, будет работать.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.015 c
3-14434
Ш-К
2002-11-14 21:26
2002.12.05
Чем в IB заменить Events?


14-14738
Anatoly Podgoretsky
2002-11-14 00:56
2002.12.05
Именинники 14 ноября


14-14810
VaS
2002-11-15 09:35
2002.12.05
Средства отлова ликов


14-14803
Kirill
2002-11-14 18:28
2002.12.05
Console


1-14579
HanIP
2002-11-26 15:09
2002.12.05
excel




   Наверх