Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Составление строки / 25 сообщений из 26, страница 1 из 2
19.07.2019, 14:04
    #39839225
OkeTurel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Составление строки
Здравствуйте.

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

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

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

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

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

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

Буду благодарна, если ответите.
...
Рейтинг: 0 / 0
19.07.2019, 14:09
    #39839228
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Составление строки
OkeTurelВ ней таблица, где это в виде иерархии, по типам:Да нету у Вас никакой иерархии. Всё свалено в кучу. Поди определи, что за что должно цепляться.
...
Рейтинг: 0 / 0
19.07.2019, 14:13
    #39839232
OkeTurel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Составление строки
Почему это? У меня в таблице каждому значению соответствует подчиненное значение!
...
Рейтинг: 0 / 0
19.07.2019, 14:52
    #39839258
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Составление строки
Да у вас вообще схема данных пустая, о чём тут говорить...
...
Рейтинг: 0 / 0
19.07.2019, 15:01
    #39839268
OkeTurel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Составление строки
Там на всю базу 2 таблицы и они не связаны в действительности. Можно в принципе связать их по полю territory_category_id, но, во-первых, я обычно справочники не связываю с другими таблицами, во-вторых - решению моей задачи это никак не поможет.
...
Рейтинг: 0 / 0
19.07.2019, 15:30
    #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
19.07.2019, 15:31
    #39839304
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Составление строки
OkeTurelПочему это? У меня в таблице каждому значению соответствует подчиненное значение!
Эххххх! ну связь то не по текстовому полю делать надо!
territory1_id должно содержать код territory_id того в который входит!
и territory_category_id тоже код а не текст!
...
Рейтинг: 0 / 0
19.07.2019, 15:35
    #39839310
OkeTurel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Составление строки
авторЭххххх! ну связь то не по текстовому полю делать надо!
territory1_id должно содержать код territory_id того в который входит!
и territory_category_id тоже код а не текст! Вообще-то у меня так и сделано... territory1_id - тип числовой. И territory1_id у меня как раз и содержит код territory_id того в который входит.
...
Рейтинг: 0 / 0
19.07.2019, 15:39
    #39839314
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Составление строки
OkeTurel,

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

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

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

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

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


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