![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 17.09.2010
Сообщений: 3
|
![]()
Всем доброго времени суток.
Я только начал изучать Delphi. Передо мной стояла задача организовать поиск в простенькой по структуре БД (одна таблица 2 столбца) код и наименование изделие. Но там около 30000 записей. Я написал простенькую программу и для организации поиска нашёл код в интернете, поскольку пока сам составлять коды не умею. procedure TForm1.Edit1Change(Sender: TObject); begin if Length(Edit1.Text) > 0 then begin ADOTable1.Filtered:=false; ADOTable1.Filter:=Combobox1.Text + ' LIKE ' + #39 + Edit1.Text + '%' + #39; ADOTable1.Filtered:=true; end else ADOTable1.Filtered:=false; end; В Combobox наименование столбцов таблицы. И всё бы то хорошо, но в набивание этих записей видимо участвовали разные люди, либо что то случилось при вытаскивание программы со старой системы... Так вот мне например нужно найти винты. Но там вбито в половине случаев В-на русской раскладке, в другой половине В-на английской.То есть при фильтрации мне не вылазят все искомые значения. Собственно вопрос как организовать поиск чтоб при фильтрации, я получал и те и те. Возможно ли придать английской букве русскую кодировку, если да, то как будет выглядеть код? (проблема не в одной букве, но думаю если одной буквой можно обмануть машину, значит по образцу пропишу для других) Заранее благодарю) Последний раз редактировалось Arcanorum; 17.09.2010 в 18:39. Причина: Забыл поблагодарить)) |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 17.09.2010
Сообщений: 229
|
![]()
Вообще проблема намного шире чем тебе кажется. Ведь могли не просто раскладку изменить, могли и пропустить символ и лишний впихнуть, или просто опечатались и вместо "ш" поставили "щ". Полностью автоматизированного рабочего решения я так и не видел. Есть алгоритмы нечеткого сравнения строк, но это в гугл ).
Правильно заданный вопрос - половина ответа!
|
![]() |
![]() |
![]() |
#3 | |
Новичок
Джуниор
Регистрация: 17.09.2010
Сообщений: 3
|
![]() Цитата:
![]() |
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 12.09.2010
Сообщений: 69
|
![]()
Я бы прошелся по всей базе и заменил все B английские на В русские. и вообще прежде привел бы базу в порядок. Такие ошибки надо ловить при вводе документов. Если при выгрузке что-то глюкнуло, то скорее эти глюки единообразные и их можно один раз программно исправить. У меня была база с иностранцами, где ФИО русскими буквами написаны все. Вот это была ж... 90 проц. базы удалось "причесать", а остальные 10 проц. ручками.
SELECT BEST FROM LIFE
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 17.09.2010
Сообщений: 229
|
![]()
Тоже думаю что лучше один раз привести базу в порядок. Вынести эти названия в отдельный справочник и при забивании данных пусть выбирают из справочника. А редактирование справочника там уже пытаться отлавливать такие махинации )
Правильно заданный вопрос - половина ответа!
|
![]() |
![]() |
![]() |
#6 | |
Новичок
Джуниор
Регистрация: 17.09.2010
Сообщений: 3
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с кнопкой поиска | ozarnik585 | Помощь студентам | 0 | 10.03.2010 08:47 |
Проблема при открытии базы при помощи ADO | SlavaSH | БД в Delphi | 21 | 30.06.2009 16:51 |
Проблема при организации формы загрузки... | Oleg Romanchuk | Общие вопросы Delphi | 3 | 23.03.2009 10:48 |
Вопрос по организации поиска и расстановки меток | Melifaro | Компоненты Delphi | 4 | 01.11.2007 09:53 |
косяк при организации итерационных вычислений | redfield | Microsoft Office Excel | 3 | 04.09.2007 21:35 |