Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.036 c
2-1159528840
RebroFF
2006-09-29 15:20
2006.10.15
Корректное отображение кириллицы


10-1124054722
Lotus
2005-08-15 01:25
2006.10.15
The server threw an exception


2-1158950941
spaider
2006-09-22 22:49
2006.10.15
Принтер


3-1155246216
Oxot_nik
2006-08-11 01:43
2006.10.15
Как создать дерево таблиц в Базе данных?


2-1159312575
Что? Как? Где?
2006-09-27 03:16
2006.10.15
Километраж мыши





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский