Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Маринка

Смена подстановочной таблицы в поле со списком

09.08.2010, 10:43. Показов 2782. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Может быть, кто то - из опытных Acess-мастеров, подскажет, как можно реализовать следующую функцию:

1.Есть форма 'Main'
2.Есть на форме 2-ва поля со списком - 'Город', 'Улицы'
3.Есть таблицы 'Город', 'Кемерово_улицы', 'Москва_улицы'

Проблема такова:
К примеру, выбираем из первого поля со с писком, 'Город' - Кемерово.
В программе, ко второму полю со списком 'Улицы' уже подключена таблица-источник данных 'Кемерово_улицы' (через вкладку - Тип источника строк - таблица или запрос, Источник строк - Select Кемерово_улицы и т.д. ) Все работает.
Далее, в поле со списком 'Город', выбираем - Москву. Но... улицы-то остались 'кемеровские'....

Можно ли установить 'зависимость' этих двух полей со списком...??? Чтобы по смене города, менялась подстановочная таблица улиц...
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.08.2010, 10:43
Ответы с готовыми решениями:

Поле со списком и связанные таблицы
Здравствуйте. Две таблицы созданы. Сделал в таблице ТО редукторов поле со списком из таблицы редукторы. Все работает, но почему-то...

Запрос на текст в поле со списком таблицы
Всем привет! Очень нужно решить вопрос! Имеется: Таблица. В ней поле со списком. В этом поле разрешено добавление нескольких...

Поле со списком (занесения данных с таблицы)
Привет всем! У меня есть в таблице столбик в котором отображаются цыфры от 5 до 9! Вопрос : Как эти цыфры поместить в поле со...

11
0 / 0 / 0
Регистрация: 11.01.2010
Сообщений: 47
09.08.2010, 11:52
На событие 'после обновления' (AfterUpdate)поля с названием города повесить смену источника строк(RowSource) поля с название улиц.
0
118 / 118 / 10
Регистрация: 12.05.2010
Сообщений: 1,207
09.08.2010, 12:03
1. А когда ожидается появление таблицы Лианозово_улицы?
И что тогда - базу начнёт дорабатывать? А Грозный_улицы когда появятся?
Просто ТаблицаУлиц должна быть одна с полями ГородНомер, УлицаНазвание.
2.
Private Sub Город_AfterUpdate()
Улицы.RowSource = 'SELECT * FROM ' + Город
End Sub

или
Улицы.RowSource = 'SELECT * FROM ' + Город.Column(1,Город.ListIndex)

или
Улицы.RowSource = 'SELECT * FROM ' + Город.Column(1,Город.ListIndex+1)
в зависимости от того, как реализовано поле со списком Город
0
1 / 1 / 1
Регистрация: 05.01.2010
Сообщений: 235
09.08.2010, 15:15
Тут программирование можно вообще свести к минимуму. У списка есть свойство 'Источник строк', который представляет собой SQL - запрос с доступным визуальным конструктором. Составляется запрос на выборку с условием отбора по коду города (с сылкой на список города) и потом при обновлении списка городов для списка улиц вызвать метод Requery. А хранить улицы для каждого города в своей таблице действительно нельзя.
0
Маринка
09.08.2010, 16:54
Спасибо за советы, хотя я еще ничего не поняла.
Пока ясно одно - нужно сделать следующее:
1. Создать общую, единую таблицу 'Улица' с названиями улиц и указанием того города к которому относится каждое название.
2. Создать таблицу 'Город' с названиями нужных городов.

Алгоритм работы, в его общей форме, будет таким:
По выборке нужного города в поле со списком 'Город' (источник информации таблица 'Город'), во втором поле со списком 'Улица' (источник информации таблица 'Улица'), должны быть отображены только те названия, которые имеют отношение к данному городу.

Но... как это все реализовать на практике.
Пока у меня готово:
1. Форма с полями со списком - 'Город' и 'Улица'
2. Таблица 'Город', в которой есть две записи с названием городов (в данном конкретном примере Москва и Кемерово)
3. Таблица 'Улица', десяток записей улиц и того города к которому она (улица) относится (т.е. к примеру - Российская, Кемерово или Сущевская, Москва).
4. Указан источник информации для поля со списком 'Город' (Таблица 'Город')

Это все...

Вопрос остался:
Как мне 'отфильтровать' те названия улиц, соответствующие конкретному, выбраному городу, что бы лишь они отображались при окрытии поля со списком 'Улицы'...???
Маринка
09.08.2010, 17:02
Для второго поля 'Улица', я открыла 'Построитель запросов'.
Загрузила в него две таблицы 'Улица' и 'Город'. Для таблицы 'Улица' указала два поля - 'Улица', 'Город', причем разрешение вывода на экран, оставила только для Улиц. Теперь нужно составить условие отбора. Подскажите мне его примерную формулировку...
0 / 0 / 0
Регистрация: 06.07.2009
Сообщений: 7
09.08.2010, 17:52
Запрос для 'Улицы' лучше целиком делать на основе таблицы 'Улица'.
В запросе два поля: 'Улица' и 'Город'(или Код города) - оба из таблицы 'Улица'. В строке 'условие' для столбца 'город' сделайте ссылку(с помощью построителя, например) на элемент управления, отображающий города. При выборе города, в запросе, останутся только улицы для данного города, что и будет отображаться в соответствующем элементе управления.
0
0 / 0 / 0
Регистрация: 06.07.2009
Сообщений: 7
09.08.2010, 17:58
Насчет, лучше, я погорячился, икскьюзми... но суть та же. сделайте как сделали, только в поле условие для города - поставьте ссылку на элемент управления с городами. вобщем-то и все.
0
Маринка
11.08.2010, 15:39
Я сделала пока так:
Открыла построитель запросов, загрузила в него две таблицы: 'Улицы' (названия улиц и названия соответствующих городов) и вторую - 'Город' (только названия городов). Теперь есть два одинаковых поля в разных таблицах, с одинаковой информацией. Как я понимаю, можно сделать выборку по совпадению (названия городов в записях), с выводом на экран тех из них, где есть такое совпадение. Но как составить условие отбора, если есть к примеру 10, 20 и более городов...??? Видимо, надо указать лишь совпадение информации в полях, т.е. в общем виде, без конкретики...???

Пока не знаю...
1 / 1 / 1
Регистрация: 05.01.2010
Сообщений: 235
11.08.2010, 15:49
В качестве условия отбора для улиц (по полю город) нужно указать ссылку на список городов. А при выборе города обновлять информацию в списке улицы с помощью метода Requery. Хотя об этом я уже писал - непонятно, что не получается?
0
Маринка
11.08.2010, 16:02
В общих чертах, конечно, понятно.
Но в плане реализации конкретной последовательности действий, т.е. самой инструкции на выборку, есть сложности. В том смысле, что я ведь не программист, а только учусь в лицее. Все что я делаю сейчас, это у нас пока не преподают - я просто пытаюсь создать небольшую СУБД, для себя, по типу - телефонной книги. Поэтому все мои вопросы здесь, такие, какие они есть...
1 / 1 / 1
Регистрация: 05.01.2010
Сообщений: 235
11.08.2010, 17:02
Если поле с городами называется СписокГород, а с улицами СписокУлица, то источником строк для СписокУлица должен быть запрос

Select Улица.Название from Улица where Улица.Город=СписокГород

а на обновление списка СписокГород выполнять
СписокУлица.Requery
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.08.2010, 17:02
Помогаю со студенческими работами здесь

Данные из 3-х полей таблицы в поле со списком на форме
Добрый вечер народ! Есть Таблица1. В ней 3 поля. Есть форма с полем со списком... Как на этом поле в форме вывести значения этих 3-х...

В запросе из полей с подстановкой выборка производится не по значению поля, а по ключу подстановочной таблицы
Здравствуйте! Я создал базу в Access 2007 (инфобаза КР). Как рекомендовано, оптимизировал ее с помощью вспомогательных таблиц. Создал...

Поле со списком. Выбор поля таблицы для заполнения
Здравствуйте! Есть пустая таблица "сводная ведомость успеваемости" - в строках список учеников, в столбцах предметы. Для заполнение создал...

Как добавить новую запись в поле со списком из другой таблицы?
Добрый день. 2 таблицы: raskhod (id_ras, data, klient, data, summa) klient - поле со списком, источник Dogovor.klient Dogovor...

Поиск данных из таблицы используя поле со списком(содержащего даты )
Здравствуйте!У меня есть БД "Турагенство" и мне нужно найти путевку по дате из выпадающего списка на форме.Прикрепляю мой код Private...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru