|
|
|
Нестрогое соответствие
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Подскажите пожалуйста кто нибудь. есть рекордсет Rs.Adodb.recordset с фамилиями, Rs("Fio") есть переменная Famil Как мне отфильтровать Fio, так что бы отображались не только Famil=Rs("Fio"), но и Famil приблизительно равет Rs("Fio"). "Иванов"="Ивонов" истина, или "Иванов" = "Ива но-в" истина. Или может быть есть связь в SQL по нестрогому совпадению записей? Подойдут любые варианты. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2005, 16:22:01 |
|
||
|
Нестрогое соответствие
|
|||
|---|---|---|---|
|
#18+
Это то что сразу в голову приходит сделать. Ищет только по первым символам. Всех проблем не решает. Таких как скажем, пропущена вторая или первая буква, или очепятка в первых "T" буквах и т.д. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Наверняка такие задачи решали многие кто работает с базами. Подскажите пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2005, 17:11:22 |
|
||
|
Нестрогое соответствие
|
|||
|---|---|---|---|
|
#18+
если база - на SQL Server, то поискать на форуме SQL Server по ключевому слову "SOUNDEX" - сама эта функция с русским языком нифига не работает, но там были примеры самописных ХП если база - Access, то писать свою функцию на VBA вот еще этой теме... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2005, 22:32:40 |
|
||
|
Нестрогое соответствие
|
|||
|---|---|---|---|
|
#18+
Спасибо за ссылку, но база Access. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2005, 01:27:00 |
|
||
|
Нестрогое соответствие
|
|||
|---|---|---|---|
|
#18+
Читал про это кажется на Исходниках,т.е. www.sourse.ru или на vbrussion не помню точно но тема такая была и код хороший приводили. Походи,поищи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2005, 10:16:24 |
|
||
|
Нестрогое соответствие
|
|||
|---|---|---|---|
|
#18+
Пока не могу найти ничего похожего, если будет ссылка напишите пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2005, 15:05:00 |
|
||
|
Нестрогое соответствие
|
|||
|---|---|---|---|
|
#18+
Andrey13Пока не могу найти ничего похожего, если будет ссылка напишите пожалуйста. Дык на форуме по sql'ю и поискать по SOUNDEX, а затем Перевести T-SQL в VBA - функции-то по работе с текстом по-большей части стандартные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2005, 17:44:26 |
|
||
|
Нестрогое соответствие
|
|||
|---|---|---|---|
|
#18+
Andrey13"Иванов"="Ивонов" истина, или "Иванов" = "Ива но-в" истина. Или может быть есть связь в SQL по нестрогому совпадению записей? Подойдут любые варианты.См. синтаксис LIKE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2005, 13:47:44 |
|
||
|
Нестрогое соответствие
|
|||
|---|---|---|---|
|
#18+
Processor Вы не правы! Если б все было так просто как like. Вам же НАГЛЯДНО пример с Ивановым привели: автор"Иванов" = "Ива но-в" истина. Не ужели не понятно что like тут не к месту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2005, 16:00:55 |
|
||
|
Нестрогое соответствие
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. Как пример: авторLike '%Ив%' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2005, 16:53:06 |
|
||
|
Нестрогое соответствие
|
|||
|---|---|---|---|
|
#18+
Да Вы что!!! А если "Ивенов" или "Иванков", тогда как? Вот, кое что нашел на vbrussion. Привожу как есть: Нечёткое сравнение строк Автор: Gennady V. Alimov Часто сталкивался с проблемой, когда нужно сравнивать строки, полученные из разных источников, которые имеют свою точку зрения на вопросы предоставления данных написание, грамотность, очепятки и т.д.). Например, "ул. Лёни Голикова" и "ул.Лени Голикава" в чём-то похожие названия, и хотелось бы как то это выразить. Данные пример как раз и служит для таких целей. Выдает результат в виде числа от 0 до 1. Чем оно больше - тем больше схожесть строк. Размер: 7 КБайт Добавлено: 22 августа 2003 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2005, 17:35:53 |
|
||
|
Нестрогое соответствие
|
|||
|---|---|---|---|
|
#18+
Спасибо, помоему то что нужно!!!. Сейчас попробую. AndreyMp, я твой должник. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2005, 20:41:57 |
|
||
|
Нестрогое соответствие
|
|||
|---|---|---|---|
|
#18+
Проблема была такая: Из банка приходили сведения об оплате, где фамилии и адреса были набиты от балды (без исполбзования справочника, и не имели уникального ключа). Банк подцепить мой справочник почемуто не мог. Теперь сегодня банк стал терять клиентов и зашевелился, и AndreyMp помог. Теперь я даже выбирать могу как лучше сделать. Работает, теперь можно сравнивать, если скажем Compare(strA, strB, 5)>0.5 то запихивать в комбо, а там оператор уже будет выбирать из десятка фамилий правильную, а если Compare(strA, strB, 5)=1 то вопрос вообще снимается. Спасибо Gennady V. Alimov, и AndreyMp. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2005, 20:59:41 |
|
||
|
Нестрогое соответствие
|
|||
|---|---|---|---|
|
#18+
AndreyMpProcessor Вы не правы! Если б все было так просто как like. Вам же НАГЛЯДНО пример с Ивановым привели: автор"Иванов" = "Ива но-в" истина. Не ужели не понятно что like тут не к месту.1. "Иванов" = "Ива но-в" истина. - это предел абстракции для объяснения цели. Цель (истина-ложь) в таком виде может быть достигнута на малом количестве паттернов. В более общем виде Вы, напр., приводите ссылку на Gennady V. Alimov, использовавшего критерий fuzzy logic. Решение же принимает чаще всего оператор из отображаемого , предварительно отфильтрованного множества записей на основе других соображений . И сокращение отображаемого множества есть первая цель при создании интерфейса (неявно следует из темы топика). Мне пришлось решать аналогичную задачу при визуализации подмножества записей из справочника контрагентов. В частности, фамилию "КОЛОДЯЖНЫЙ" один из юзеров, ничтоже сумняшеся, упорно писал как "кАлАдяжный". И LIKE, используемый в хранимой процедуре , спокойно выбирал записи, похожие на '%[КK][AOАО]Л[AOАО]%' Если записи дополнительно обрабатываются и на клиенте , можно повысить качество распознавания, не теряя скорости реакции системы на ввод символов с клавиатуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2005, 12:37:50 |
|
||
|
Нестрогое соответствие
|
|||
|---|---|---|---|
|
#18+
Спасиьо Processor. Почитаю о Like подробней. Пока не понятно что значит '%[КK][AOАО]Л[AOАО]%', а именно квадратные скобки. И на основании чего вы формировали именно накое условие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2005, 17:57:58 |
|
||
|
Нестрогое соответствие
|
|||
|---|---|---|---|
|
#18+
Andrey13Почитаю о Like подробней. Пока не понятно что значит '%[КK][AOАО]Л[AOАО]%', а именно квадратные скобки.А сейчас, после прочтения синтаксиса LIKE, понятно? Квадратные скобки - не главное . А вот повторение сиволов, в них заключённых, на самом деле - не повторение! По крайней мере, это заметно по начертаниям литер КK. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2005, 12:38:33 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33158282&tid=2167487]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 385ms |

| 0 / 0 |
