Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.05;
Скачать: 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 вся ветка

Текущий архив: 2002.12.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
3-14472
skiph
2002-11-14 13:13
2002.12.05
ADOQuery и Группировка в отчете


3-14361
Chainik-2
2002-11-18 17:01
2002.12.05
win-XP


1-14497
FireWorks
2002-11-26 09:50
2002.12.05
текстовая база данных


1-14496
AndreyAGSoft
2002-11-26 09:27
2002.12.05
Key generator


1-14546
Matolch
2002-11-24 13:02
2002.12.05
Значения свойств компонента по умолчанию, кто зна?