Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.15;
Скачать: CL | DM;

Вниз

Как скрыть повторяющиеся записи?   Найти похожие ветки 

 
Andrew___*   (2006-08-12 15:01) [0]

Paradox, Delphi 2006

Мне необходимо скрыть от пользователя все повторяющиеся записи таблицы. Т.е  не запретить вводить повторяющиеся значения, а именно их скрывать. Как лучше это сделать, подскажите плз.


 
Anatoly Podgoretsky ©   (2006-08-12 15:02) [1]

Зачем в базе повторяющиеся записи?


 
Andrew___*   (2006-08-12 15:48) [2]

Просто есть поле, которое может включать, допустим, фамилии поставщиков, а уникальный ключ - это название товара. И нужно просто получит в таблице список фамилий.


 
Anatoly Podgoretsky ©   (2006-08-12 15:49) [3]

И SQL ты конечно не знаешь?


 
Andrew___*   (2006-08-12 18:01) [4]

SQL меня спасти не может, поскольку придется переписывать всю программу....


 
Fay ©   (2006-08-12 18:31) [5]

2 Andrew___*   (12.08.06 18:01) [4]

Струкатура данных ваще какая?

> придется переписывать всю программу....
М.б. это не такая уж и плохая мысль.


 
Andrew___*   (2006-08-12 20:19) [6]

Рdox 7, локальная БД.
Я, возможно, нечетко выразил свою мысль: мне нужно просто получить список всех неповторяющихся значений по столбцу и все. Зачем же 5 раз узнавать, что фамилия вашего поставщика Иванов - логика такая. Думаю, это можно реализовать и без SQL.


 
Fay ©   (2006-08-12 20:23) [7]

2 Andrew___*   (12.08.06 20:19) [6]
Слушай, Andrew___ джан, покажи примеры того, что есть, и того, что должно быть.


 
Anatoly Podgoretsky ©   (2006-08-12 20:34) [8]

А где получить то?


 
sniknik ©   (2006-08-13 01:49) [9]

без sql это будет несколько громоздко... как себе вижу... делаем дополнительный отвязанный от бызы рекордсет с нужным полем, далее сортируем локально (если есть возможность в ваших компонентах/методе доступа) исходный датасет по требуемому полю (или устанавливаем ему индекс если есть и локално сортировать не позволяет),  дальше банальный цикл с "пока поле равно предварительно сохраненному (первому) пропускаем, если не равно то записываем и сохраняем в предварительное для дальнейших сравнений"... как только цикл завершится в нашем рекордсете будут неповторяющиеся значения... что нам и надо. дальше вообще просто, или меняем оригинальный датасет на нами составленный  или делаем фильтр оригинала с проверкой на вхождение в созданный, только тут тогда надо не одно поле сожранять а еше и ключь, по нему вхождение смотреть. все. теперь в оригинале будут только первые записи повтряющихся фамилий.

и не надо будет программу переписывать (!!!???) ну не считая того что добавилось...

да, забыл, еще надо бы сохранить состояние оригинального датасета,чтобы вернуть после сортировок.


 
Dok   (2006-08-13 12:36) [10]


> SQL меня спасти не может, поскольку придется переписывать
> всю программу....

ага а программа работает с БД без скл???? блин, хоть плач. Неужели почитать, посмотреть примеры сложно?


 
Andrew___*   (2006-08-13 14:00) [11]

2 sniknik - что-то вроде этого я себе и представлял. Была надежда получить информацию о недокументированных возможностях фильтрации, но, видимо, она оказалась тщетной. Спасибо.


 
Desdechado ©   (2006-08-13 15:41) [12]

мысли вслух:
а грабли размножаются с поразительной скоростью...


 
Anatoly Podgoretsky ©   (2006-08-13 15:56) [13]

Andrew___*   (13.08.06 14:00) [11]
Вера в чудо.


 
ANB ©   (2006-08-14 15:34) [14]

select distinct Postav_Name from Table1


 
Desdechado ©   (2006-08-14 16:57) [15]

ANB ©   (14.08.06 15:34) [14]
Не учи человека плохому :))
Он чурается SQL"я.

PS а ведь всего одной командой можно...


 
term1t ©   (2006-08-15 18:30) [16]

я что-то недопонял по поводу SQL ... а что ... " distinct  TField " уже не конает?



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

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

Наверх




Память: 0.5 MB
Время: 0.028 c
15-1158908682
Opilki_Inside
2006-09-22 11:04
2006.10.15
Парсер аргументов командной строки


6-1148208866
ChainikDenis
2006-05-21 14:54
2006.10.15
Тупой вопрос по UDP


8-1142791800
foull
2006-03-19 21:10
2006.10.15
работа с mp3 тэгами


3-1155632078
Bless
2006-08-15 12:54
2006.10.15
TADODataSet.Next. Почему так медленно?


15-1159115578
Konstantin555
2006-09-24 20:32
2006.10.15
HELP! После установки Касперского пропала сеть и Интернет!