powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сокращения в адресе
10 сообщений из 10, страница 1 из 1
Сокращения в адресе
    #39503382
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
создал функцию в которую передаётся адрес
он обрабатывается
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
         ADRESS_KRATKO = Replace(ADRESS_KRATKO, "СЕЛЬСКИЙ ОКРУГ", "с\о")
         ADRESS_KRATKO = Replace(ADRESS_KRATKO, "ПОСЕЛКОВЫЙ ОКРУГ", "п\о")
         ADRESS_KRATKO = Replace(ADRESS_KRATKO, "РАЙОН ВНУТРИ ГОРОДА", "р-н")
         ADRESS_KRATKO = Replace(ADRESS_KRATKO, "РАЙОН", "р-н")
         ADRESS_KRATKO = Replace(ADRESS_KRATKO, "ЖИЛОЙ МАССИВ", "ж\м")
         ADRESS_KRATKO = Replace(ADRESS_KRATKO, "ЖИЛОЙ МАССИВ", "ж\м")
         ADRESS_KRATKO = Replace(ADRESS_KRATKO, "ЖИЛОЙ", "жил.")
         ADRESS_KRATKO = Replace(ADRESS_KRATKO, "МАССИВ", "мас.")
         ADRESS_KRATKO = Replace(ADRESS_KRATKO, "ПЛОЩАДЬ", "пл.")
         ADRESS_KRATKO = Replace(ADRESS_KRATKO, "МИКРОРАЙОН", "м\р-н")
         ADRESS_KRATKO = Replace(ADRESS_KRATKO, "МИКРОр-он", "м\р-н")
         ADRESS_KRATKO = Replace(ADRESS_KRATKO, "ДАЧНЫЙ КООПЕРАТИВ", "дач.кооп.")
         ADRESS_KRATKO = Replace(ADRESS_KRATKO, "ГАРАЖНЫЙ КООПЕРАТИВ", "гар.кооп.")
         ADRESS_KRATKO = Replace(ADRESS_KRATKO, "ЗАСТАВА", "з-ва")
         ADRESS_KRATKO = Replace(ADRESS_KRATKO, "ВОИНСКАЯ ЧАСТЬ", "в\ч")
         ADRESS_KRATKO = Replace(ADRESS_KRATKO, "НАБЕРЕЖНАЯ", "наб.")
         ADRESS_KRATKO = Replace(ADRESS_KRATKO, "Юго-восток", "ю\в")
         ADRESS_KRATKO = Replace(ADRESS_KRATKO, "Юго-запад", "ю\з")



И на выходе функция даёт строку адреса с сокращёнными словами.

Может кто решал эту задачу, и знает более изящный способ решения?
------------------------------------------------------------------------
СПС
...
Рейтинг: 0 / 0
Сокращения в адресе
    #39503389
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну более изящным будет массив сокращений. И соответственно обработка в цикле, а не пачкой однотипных строк. Ещё более изящным будет хранение массива сокращений в таблице.
...
Рейтинг: 0 / 0
Сокращения в адресе
    #39503391
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

Да, но ведь в цикле - дольше будет длиться процедурка...
или не?
...
Рейтинг: 0 / 0
Сокращения в адресе
    #39503397
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

зря я наверное написал слово изящнее.
оно не отражает моего желания.
точнее будет сказать
лучшее решение.

то есть быстрое и гибкое решение этой задачи - оно какое?.. .
...
Рейтинг: 0 / 0
Сокращения в адресе
    #39503436
_гурД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
час58,

gnivc.ru. Справочник KLADR, таблица SOCR(NAME), кажется...

(Я или опять не в тот паровоз, или cum scuto... Короче, не верю, что Волшебник электронного города может не знать про эти классификаторы; шутит, значит; но в расстёбайских извращенцких юморах (не то что нек...) не замечен. Загадко
...
Рейтинг: 0 / 0
Сокращения в адресе
    #39503497
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58
Код: vbnet
1.
 ADRESS_KRATKO = Replace(ADRESS_KRATKO, "НАБЕРЕЖНАЯ", "наб.")


только вот в нашем городе есть улица НАБЕРЕЖНАЯ
как то не хочется получить улица наб.

---
это реальность, я не выдумала
...
Рейтинг: 0 / 0
Сокращения в адресе
    #39503585
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА,

спасибо
:-)
...
Рейтинг: 0 / 0
Сокращения в адресе
    #39503611
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58Akina,

Да, но ведь в цикле - дольше будет длиться процедурка...
или не? а почему Вы решили что в цикле будет дольше (тем более, что при быстродействии современных PC это ни разу не актуально)
...
Рейтинг: 0 / 0
Сокращения в адресе
    #39503896
uum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
uum
Гость
_гурДчас58,
gnivc.ru. Справочник KLADR, таблица SOCR(NAME), кажется...
... Короче, не верю, что Волшебник электронного города может не знать про эти классификаторы; шутит, значит; Действительно, подозрительно выглядит волшебник электронного города. :)

Как-то нужно было часть КЛАДР_а присовокупить к БД с небольшими требованиями, например, чтобы столица субъекта федерации выпадала в поле со списком рядом с его наименованием. Сделал быстро временный вариант, думал, проверю и доделаю как-нть, чтобы работало побыстрей. Пришло время - обновил данные из КЛАДР на 2015 год, но как все было временно, так все и осталось постоянно. Ох уж эта актуальность :). https://yadi.sk/d/THN8Cj7Q3Lu5WJ
...
Рейтинг: 0 / 0
Сокращения в адресе
    #39503920
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uum,

Сделал таблицу с двумя полями.

И функцию
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Public Function FUN_ADRESS_KRATKO(ADRESS As String) As String

Dim RST As DAO.Recordset
Dim DB As DAO.Database

If Nz(ADRESS) = "" Then Exit Function

    Set DB = CurrentDb
    Set RST = DB.OpenRecordset("SOKRAHENIYA_TBL", dbOpenDynaset)
    FUN_ADRESS_KRATKO = ""

        RST.MoveLast
        RST.MoveFirst

        Do Until RST.EOF
               ADRESS = Replace(ADRESS, RST("SLOVO_CELOE"), Nz(RST("SLOVO_SOKRAHENOE")))
            RST.MoveNext            
        Loop

        RST.Close
        Set RST = Nothing

    FUN_ADRESS_KRATKO = ADRESS

End Function



Вроде работает.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сокращения в адресе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]