Возможно ли упростить запрос
Добавлено: 15 апр 2005, 13:09
Interface f_TimeTable '123';
Var
nvCurDepPos: Comp;
Create view
Var
nvPodrID: Comp;
as select Persons.Fio from Persons,Catalogs,Appointments
where ((Persons.Nrec==Appointments.Person and Appointments.Department==Catalogs.Nrec))
and Catalogs.Nrec=nvCurDepPos and Appointments.DisMissDate=Date(0,0,0);
...
В Browse выводится Persons.Fio и переход по записям осуществляется очень медленно,как я понял из за того, что подгружаетя все содержимое таблиц подцепки, и только потом фильтруется по Catalogs.Nrec=nvCurDepPos. Само значение nvCurDepPos получается при вызове соответствующего диалога. Можно ли как нибудь загнать этот NRec (nvCurDepPos) в саму подцепку сразу, чтобы НД сразу попадали только "нужные" записи?
Если я пишу что-то типа
Interface f_TimeTable '123';
Create view
Var
nvPodrID: Comp;
nvCurDepPos: Comp;
as select Persons.Fio from Persons,Catalogs,Appointments
where ((Persons.Nrec==Appointments.Person and Appointments.Department==Catalogs.Nrec
and nvCurDepPos==Catalogs.Nrec)) and Appointments.DisMissDate=Date(0,0,0);
то "фиильтрация" вообще не осуществляется и в browse попадают вообще все сотрудники, вне зависимости от значения nvCurDepPos (выбранное подразделение)
Var
nvCurDepPos: Comp;
Create view
Var
nvPodrID: Comp;
as select Persons.Fio from Persons,Catalogs,Appointments
where ((Persons.Nrec==Appointments.Person and Appointments.Department==Catalogs.Nrec))
and Catalogs.Nrec=nvCurDepPos and Appointments.DisMissDate=Date(0,0,0);
...
В Browse выводится Persons.Fio и переход по записям осуществляется очень медленно,как я понял из за того, что подгружаетя все содержимое таблиц подцепки, и только потом фильтруется по Catalogs.Nrec=nvCurDepPos. Само значение nvCurDepPos получается при вызове соответствующего диалога. Можно ли как нибудь загнать этот NRec (nvCurDepPos) в саму подцепку сразу, чтобы НД сразу попадали только "нужные" записи?
Если я пишу что-то типа
Interface f_TimeTable '123';
Create view
Var
nvPodrID: Comp;
nvCurDepPos: Comp;
as select Persons.Fio from Persons,Catalogs,Appointments
where ((Persons.Nrec==Appointments.Person and Appointments.Department==Catalogs.Nrec
and nvCurDepPos==Catalogs.Nrec)) and Appointments.DisMissDate=Date(0,0,0);
то "фиильтрация" вообще не осуществляется и в browse попадают вообще все сотрудники, вне зависимости от значения nvCurDepPos (выбранное подразделение)