|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.09.2014, 12:04 | #1 |
Пользователь
Регистрация: 22.11.2012
Сообщений: 26
|
Фильтрация много раз повторяющихся строк в DBGrid в Delphi
Доброе время суток! Функцией FormCreate в DBGrid SQL-запросом выводятся данные: Фамилия, Имя, Отчество, Номер телефона. Некоторые люди имеют несколько номеров телефона. Если я напишу так: 'select DISTINCT Фамилия, Имя, Отчество from Сотрудники', то одно повторение Фамилия, Имя, Отчество исчезнет, а остальные останутся.
Есть вопрос: как исключить повторение всех строк Фамилия, Имя, Отчество. Например: Было: Иванов Иван Иванович 77070 Иванов Иван Иванович 73030 Иванов Иван Иванович 75050 Петров Петр Петрович 78080 Пишу: Код:
Иванов Иван Иванович Иванов Иван Иванович Петров Петр Петрович Должно быть: Иванов Иван Иванович Петров Петр Петрович ________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка на панели форматирования с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Train-GT; 21.09.2014 в 06:12. |
20.09.2014, 12:49 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
во-первых, если Вам нужны только фамилия, имя, отчество, без телефонов, то попробуйте такой код:
Код:
это всё равно, что два раза подряд написать Form1.ADOQuery1.Open; Form1.ADOQuery1.Open; |
21.09.2014, 06:16 | #3 |
Пользователь
Регистрация: 22.11.2012
Сообщений: 26
|
Спасибо, работает! Только у вас там опечатка: order bt, а надо order by.
А еще вопрос: как автоматически подогнать колонки по ширине в DBGrid? |
21.09.2014, 10:20 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А попробуй так: http://delphiworld.narod.ru/base/res...d_columns.html
I'm learning to live...
|
21.09.2014, 11:00 | #5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
но можно реализовать "ручками" - нужно пройтись по всем записям, найти по каждом столбцу максимальную длину поля, потом эту длину пересчитать в длину столбца (вычислить коэффициент самостоятельно в зависимости от шрифта). Последний раз редактировалось Stilet; 21.09.2014 в 11:03. |
|
22.09.2014, 06:17 | #6 |
Пользователь
Регистрация: 22.11.2012
Сообщений: 26
|
Ну вы замудрили:
Код:
|
22.09.2014, 07:38 | #7 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
constructor вызывается много раз | CeHTuJI | Общие вопросы Delphi | 10 | 26.08.2013 02:45 |
удалить много строк из listbox delphi | SonicBob | Помощь студентам | 3 | 19.09.2011 10:46 |
Фильтрация повторяющихся записей | euronymous | SQL, базы данных | 3 | 04.02.2010 15:17 |
фильтрация повторяющихся ячеек в DBGrid | Evgenii | БД в Delphi | 1 | 02.08.2009 20:40 |
Открываеца форма много раз! | KingSize | Общие вопросы Delphi | 8 | 18.05.2009 13:12 |