Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Поиск в строке
 
 автор: ??????   (30.11.-1 в 00:00)
 
 

Добрейшего времени суток Алл!

Есть таблица адресов. Улицы, дома и индексы. Текстовое поле вида
"Авиационная ул - Н(19-25),Ч(18-44) - 196135 Н(1-17) - 196066"
т.е. (Н)ечетные дома под номером 19-25 и (Ч)етные дома под номером 18-44 по указанной улице имеют индекс 196135 (ну эт так, для справки)

Задача - найти вхождение этого самого индекса в строке. Что-то наподобии InStr но для группы цифр.

Ничего не идет в голову, кроме как организация посимвольного перебора с подсчетом. Может другие каки варианты есть ?

Спасибо.

  Ответить  
 
 автор: osmor   (30.11.-1 в 00:00)
 
 

почему не подойдет instr?

  Ответить  
 
 автор: ??????   (01.09.2006 в 00:00)
 
 

Re: почему не подойдет instr? Не знаю как задать параметр для поиска для индекса.
Строку

"Авиационная ул - Н(19-25),Ч(18-44) - 196135 Н(1-17) - 196066"

нужно разбить на:

"Авиационная ул - Н(19-25),Ч(18-44) - 196135
"Авиационная ул - Н(1-17) - 196066"

И так со всеми полями в таблице.

  Ответить  
 
 автор: Explorer   (30.11.-1 в 00:00)
 
 

вообще то в таком формате индекс это единственная группа где шесть цифр идут подряд не зная возможных вариантов кодирования, сложно что-то рекомендовать

  Ответить  
 
 автор: ??????   (01.09.2006 в 00:00)
 
 

Re: вообще то в таком формате индекс это единственная группа где шесть цифр идут подряд Э-э-э. Не понял :) какие варианты кодирования?

  Ответить  
 
 автор: Explorer   (01.09.2006 в 00:00)
 
 

if isnumber - а вообще - перебором посимвольно... на каждай символ с конца проверяешь число ли следующие шесть, включая и текущий.

т.е. for i = 1 to len(srtAddress) step -1

blah-blah-blah

если номер - то подхватываешь и прыгаешь вперед (назад в стринге) сразу на 6 (5?) символов, (i = i + x) если нет проверяешь следующие шесть и т.д.

последние в цикле (первые в стринге) символы точно не индекс - придумай как обработать выход из цикла...

  Ответить  
 
 автор: ?.?.   (01.09.2006 в 00:00)
 
 

Re: Ничего не идет в голову, кроме как организация посимвольного перебора с подсчетом. Так и сделайте. Это общий, быстрый, универсальный способ.
Быстрый - потому, что у вас строки короткие.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList