powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Составление строки
25 сообщений из 26, страница 1 из 2
Составление строки
    #39839225
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

Есть база с адресами (прилагаю). В ней таблица, где это в виде иерархии, по типам:

Государство - Регион государства - Регион региона - Город - Улица - Дом
Государство - Регион государства - Регион региона - Город - Улица - Дом - Квартира
Государство - Регион государства - Город - Улица - Дом
Государство - Регион государства - Город - Улица - Дом - Квартира
Государство - Город - Улица - Дом
Государство - Город - Улица - Дом - Квартира

То есть иногда отсутствует квартира (когда частный дом). Иногда отсутствует регион региона (у областных городов). У городов федерального подчинения отсутствует и регион государства.

Я написала запрос SQL, где выводятся эти строки. Этот запрос я использую как источник данных для поля со списком в форме.

Но мне не нравится, что запрос такой громоздкий.

Не подскажете ли, можно ли то же самое сделать через VBA? Как сформировать такой рекордсет программно? Может, будет короче и аккуратней?

Буду благодарна, если ответите.
...
Рейтинг: 0 / 0
Составление строки
    #39839228
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OkeTurelВ ней таблица, где это в виде иерархии, по типам:Да нету у Вас никакой иерархии. Всё свалено в кучу. Поди определи, что за что должно цепляться.
...
Рейтинг: 0 / 0
Составление строки
    #39839232
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему это? У меня в таблице каждому значению соответствует подчиненное значение!
...
Рейтинг: 0 / 0
Составление строки
    #39839258
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да у вас вообще схема данных пустая, о чём тут говорить...
...
Рейтинг: 0 / 0
Составление строки
    #39839268
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там на всю базу 2 таблицы и они не связаны в действительности. Можно в принципе связать их по полю territory_category_id, но, во-первых, я обычно справочники не связываю с другими таблицами, во-вторых - решению моей задачи это никак не поможет.
...
Рейтинг: 0 / 0
Составление строки
    #39839301
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OkeTurelТам на всю базу 2 таблицы и они не связаны в действительности. Можно в принципе связать их по полю territory_category_id, но, во-первых, я обычно справочники не связываю с другими таблицами, во-вторых - решению моей задачи это никак не поможет.

обычно добавляют поле подчиненноси PARENT

PARENTterritory category idterritoryterritory id0государствоРоссийская Федерация11регион государстваУльяновская область22населенный пунктгород Димитровград32населенный пунктгород Ульяновск42регион регионаКузоватовский район55населенный пунктпоселок городского типа Кузоватово66улицаулица Ленина76улицаулица Промышленная97домдом 5107домдом 588квартира, комната, кабинет, окнокв.1411


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT T1.territory_id, T1.PARENT, T1.territory, T1.territory_category_id, T2.territory, T3.territory, T4.territory, T5.territory, T6.territory, T7.territory, T8.territory
FROM ((((((ref_territories_tbl AS T1
 LEFT JOIN ref_territories_tbl AS T2 ON T1.territory_id = T2.PARENT)
 LEFT JOIN ref_territories_tbl AS T3 ON T2.territory_id = T3.PARENT)
 LEFT JOIN ref_territories_tbl AS T4 ON T3.territory_id = T4.PARENT)
 LEFT JOIN ref_territories_tbl AS T5 ON T4.territory_id = T5.PARENT)
 LEFT JOIN ref_territories_tbl AS T6 ON T5.territory_id = T6.PARENT)
 LEFT JOIN ref_territories_tbl AS T7 ON T6.territory_id = T7.PARENT)
 LEFT JOIN ref_territories_tbl AS T8 ON T7.territory_id = T8.PARENT WHERE (((T1.PARENT)=0));



territory idPARENTT1.territoryterritory category idT2.territoryT3.territoryT4.territoryT5.territoryT6.territoryT7.territoryT8.territory10Российская ФедерациягосударствоУльяновская областьКузоватовский районпоселок городского типа Кузоватовоулица Промышленная10Российская ФедерациягосударствоУльяновская областьКузоватовский районпоселок городского типа Кузоватовоулица Ленинадом 510Российская ФедерациягосударствоУльяновская областьКузоватовский районпоселок городского типа Кузоватовоулица Ленинадом 5кв.1410Российская ФедерациягосударствоУльяновская областьгород Ульяновск10Российская ФедерациягосударствоУльяновская областьгород Димитровград
...
Рейтинг: 0 / 0
Составление строки
    #39839304
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OkeTurelПочему это? У меня в таблице каждому значению соответствует подчиненное значение!
Эххххх! ну связь то не по текстовому полю делать надо!
territory1_id должно содержать код territory_id того в который входит!
и territory_category_id тоже код а не текст!
...
Рейтинг: 0 / 0
Составление строки
    #39839310
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЭххххх! ну связь то не по текстовому полю делать надо!
territory1_id должно содержать код territory_id того в который входит!
и territory_category_id тоже код а не текст! Вообще-то у меня так и сделано... territory1_id - тип числовой. И territory1_id у меня как раз и содержит код territory_id того в который входит.
...
Рейтинг: 0 / 0
Составление строки
    #39839314
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OkeTurel,

Если я смотрю в ту же базу, что и вы - то не так
...
Рейтинг: 0 / 0
Составление строки
    #39839315
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311, там поля со списком. И поле territory_id, и поле territory_category_id, и поле territory1_id - тип числовой.
...
Рейтинг: 0 / 0
Составление строки
    #39839316
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ухххх! а ведь и правда - числовой.....
Ну извините, сам так никогда не делал - поэтому и внимания не обратил
...
Рейтинг: 0 / 0
Составление строки
    #39839324
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311 , у неё там подстановки, а не связи... для вменяемого отображения реальных значений там в подстановках нужно увеличить ширину первого столбца...
...
Рейтинг: 0 / 0
Составление строки
    #39839325
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311, ничего страшного. :)
ПЕНСИОНЕРКА - в чем-то там есть у Вас фищка, но не пойму пока, в чем. Вроде аккуратней выходит и UNION не нужен...
...
Рейтинг: 0 / 0
Составление строки
    #39839330
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА, как это так у Вас получилось?
...
Рейтинг: 0 / 0
Составление строки
    #39839337
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, но territory id не должен же возвращаться одинаковым! Как я тогда этот запрос использую в качестве источника строк для поля со списком, если territory id одинаковый во всех записях?

В моем запросе territory id разный и равен либо ID дома, либо ID квартиры. А тут он один. Чего-то не то.
...
Рейтинг: 0 / 0
Составление строки
    #39839352
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злые вы.
"Осчастливили" барышню кучей советов, а ответа на вопрос так и не дали.
:)
...
Рейтинг: 0 / 0
Составление строки
    #39839363
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared, с ума сойти как все изящно. :) Ну спасибо, помогли. Буду изучать и учиться.
...
Рейтинг: 0 / 0
Составление строки
    #39839459
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По моему,достаточно:
-создать форму на таблице адреса(вновь созданной) с полямиСоСписком государство, крайОбласть, район и полями: улица, дом, корпус, квартира
-создать справочники государств,крайОбласть,районы(если хотите улиц для крупных городов)
- прочитать это
-сделать списки зависимыми и не изобретать велосипед
...
Рейтинг: 0 / 0
Составление строки
    #39839461
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПоляСоСписком на форме-в таблице никаких подстановок
...
Рейтинг: 0 / 0
Составление строки
    #39839468
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OkeTurel,
В зависимости от нужды, в БД применяю для описания адреса 3 варианта:
1. Змейка
2. Звёздочка
3. С изощьрениями.
...
Рейтинг: 0 / 0
Составление строки
    #39839469
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2.
...
Рейтинг: 0 / 0
Составление строки
    #39839470
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3.
...
Рейтинг: 0 / 0
Составление строки
    #39839472
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku...ПоляСоСписком на форме-в таблице никаких подстановок..
Похоже опять приспело время назначить тебя своим - Кумиром и Идолом .

Типа Исправился.

Тем более так - Сверхзамечательно отдохнули в ваших краях.
Благостных воспоминаний и прочих впечатлений и экстримов, в виде канатных дорог на горы, лет на 5 наверное хватит.
Хорошо памперс зачем то надел..

Видимо и ты и ты тоже руку приложил, раз так здорово, не смотря что не в самый сезон посетили.
...
Рейтинг: 0 / 0
Составление строки
    #39839995
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛапухOkeTurel,
В зависимости от нужды, в БД применяю для описания адреса 3 варианта:
1. Змейка
2. Звёздочка
3. С изощьрениями.
Лапух, а как же Вы поступаете, если квартиры нет и все заканчивается на доме (частный дом, там же нет квартир)?
...
Рейтинг: 0 / 0
Составление строки
    #39840042
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OkeTurel,
Элементарно Ватсон.
Просто в - Тип квартиры ставлю прочерк или - Нет.
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Составление строки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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