Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Фильтрация записей [D6, Paradox]


ArhAngel2 ©   (2002-08-27 23:56:00) 

Подскажите, возможно ли скрыть(не показывать) опредеженные записи в базе данных? Если да то как это возможно, кроме события OnFilterRecord.
Заранее спасибо


Anatoly Podgoretsky   (2002-08-31 12:16:00) [1]

MsGuns © (28.08.02 00:11)
Там сказано без OnFilterRecord или для тебя это одно и тоже


ArhAngel2   (2002-08-31 11:48:00) [2]

Работает!!!
Спасибо огромное Dick Gonsales и всем кто откликнулся!


Dick Gonsales   (2002-08-31 05:26:00) [3]


> Дело в том что данная таблица содержит списки(коды) разделов,
> и мне надо сделать проверку существуют ли записи в данном
> разделе.
> Записи храняться в другой таблице. Мне надо показать только
> те разделы в которые пустые. Т.е. идет проверка целостности
> таблицы.

select <код раздела>, <имя раздела>, "Нет записей" as txt
from <разделы>
where <код раздела> not in
(select distinct <код раздела>
from <записи> )

или противоположный результат
select <код раздела>, <имя раздела>,
count(<код записи>) as kol
from <разделы>, <записи>
where <код раздела> in
(select distinct <код раздела>
from <записи> )


Если таблица <записей> большая и подзапрос не попадает в индекс,
часто помагает следующий способ (ну кроме проиндексировать ее) -
1. Выполняем подзапрос
2. По результату формируем string типа
"<код раздела1>", "<код раздела2>", ..., "<код разделаN>"
3. Формируем SQL.Add("SELECT ..... IN (" + string +"))
4. Active=True




ArhAngel2   (2002-08-30 20:07:00) [4]

вспомогательная таблица содежит список разделов
katal:
kod: shotint
name: string
Основная содержит данные:
main:
klg: shotint
kraz: shotint
kkat: shotint
Zag: string
,т.д.
Возможно добавить поле AutoInc


Val   (2002-08-29 18:53:00) [5]

>ArhAngel2 © (29.08.02 18:48)
нужна структура таблиц.


ArhAngel2   (2002-08-29 18:48:00) [6]

Дело в том что данная таблица содержит списки(коды) разделов, и мне надо сделать проверку существуют ли записи в данном разделе.
Записи храняться в другой таблице. Мне надо показать только те разделы в которые пустые. Т.е. идет проверка целостности таблицы.

>ЮЮ ©
Использую не random, но очень похоже!
>Val ©
Приведите пример SQL как можно отфильтровать таблицу не использую данные из полей.
>Mike Kouzmine
пара секунд не убьет один раз, но это событие вызываеться уж больно часто.


Чудак   (2002-08-29 07:33:00) [7]

Попробуй воспользоваться следующими методами:
SetRange
SetRangeStart
SetRangeEnd


ЮЮ   (2002-08-29 03:41:00) [8]

>Алгоритм выборки не связан с полями данной таблицы
Random что-ли используешь? :-)


Mike Kouzmine   (2002-08-28 17:10:00) [9]

Несколько секунд не страшно. Ты же не программу позднего обнаружения баллистических ракет пишешь?


Val   (2002-08-28 16:10:00) [10]

>ArhAngel2 © (28.08.02 14:55)
очень уж туманно. воспользуйтесь SQL (MsGuns © (28.08.02 00:03)).


ArhAngel2   (2002-08-28 14:55:00) [11]

Алгоритм выборки не связан с полями данной таблицы, так что нельзя использовать свойство Filter,а событие же OnFilterиспользовать нельзя,т.к.выборка дляться несколько секунд, так что прога подвисает слегка, что недопустимо...


Reindeer Moss Eater   (2002-08-28 07:54:00) [12]

>MsGuns ©
TTable + SQL Server + свойство Filter = фильтрация на сервере (BDE формирует текст запроса)
TTable + SQL Server + событие OnFilter.. = фильтрация на клиенте

Правда у человека парадокс, поэтому все равно все на клиенте...


MsGuns   (2002-08-28 00:11:00) [13]

>Anatoly Podgoretsky © (28.08.02 00:03)
>Можно путем присваивания значения свойству Filter

Так сказано же, что БЕЗ средств фильтрации !


MsGuns   (2002-08-28 00:03:00) [14]

никак кроме специального запроса


Anatoly Podgoretsky   (2002-08-28 00:03:00) [15]

Можно путем присваивания значения свойству Filter


Наверх

Титульная страница Поиск, карта сайта Написать письмо