Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2009, 17:35   #1
Phoenix_S
Новичок
Джуниор
 
Регистрация: 18.05.2009
Сообщений: 2
Вопрос Несколько выпадающих списков в Access

Уважаемые, вопрос:
Как в Access сделать так чтобы при выборе одного пункта в списке в другом окне списка появлялись позиции выбора относящиеся только к предыдущему пункту?
Например как при выборе страны, в другом списке появляются города этой страны, при выборе города, районы города появляются в третьем списке.
Страны, города, и т.д. находятся в разных таблицах, но никак не могу понять как это все связать.
Подобные вопросы встречены здесь:
http://programmersforum.ru/showthread.php?t=43061 - к сожалению речь шла о PHP
http://programmersforum.ru/showthread.php?t=32894 - ни одного ответа, а жаль
http://programmersforum.ru/showthread.php?t=7212 - мне как начинающему, к тому же не знакомому с ВижуалБейсиком не понятно было куда все эти коды писать.
Большая просьба разъясните нормально, очень хочется знать!
Версия Аксесса от 2007 офиса.
Заранее спасибо!
Phoenix_S вне форума Ответить с цитированием
Старый 25.05.2009, 22:05   #2
Phoenix_S
Новичок
Джуниор
 
Регистрация: 18.05.2009
Сообщений: 2
Восклицание Решение. Но пока не полное

Разобрался с запросом, и обновлением.
Вот решение:
SELECT Таблица.Код, Таблица.Поле
FROM Таблица
WHERE (((Таблица.Поле)=[Название поля в форме]))
ORDER BY Таблица.Поле;

Далее прикручиваем на вкладке "События" в свойствах списка в форме на событие "после обновления":
Private Sub НазваниеПоляВформе_AfterUpdate()
Me.НазваниеЗависимогоПоля.Requery
End Sub

Но вот беда! После такого скрипта, при выборе значения в других/новой записи обновляются поля во всех строках/записях, а не только в текущей. То есть выбрав в новой записи другое значение, меняются во всех записях зависимые списки. Просто опустошаются и все!
Прошу вас, корифеи, помогите, ведь очень нужно!

Последний раз редактировалось Phoenix_S; 25.05.2009 в 22:09.
Phoenix_S вне форума Ответить с цитированием
Старый 25.05.2009, 23:54   #3
porfonya
Пользователь
 
Регистрация: 13.05.2009
Сообщений: 10
По умолчанию

Попробуй так, у меня работает:
Private Sub ПолеСоСписком18_AfterUpdate()
Me![ПолеСоСписком20].Requery
Me![ПолеСоСписком20] = Me![ПолеСоСписком20].ItemData(0)
Me![ПолеСоСписком22].Requery
Me![ПолеСоСписком22] = Me![ПолеСоСписком22].ItemData(0)
Me.Requery
End Sub
Private Sub ПолеСоСписком20_AfterUpdate()
Me![ПолеСоСписком22].Requery
Me![ПолеСоСписком22] = Me![ПолеСоСписком22].ItemData(0)
Me.Requery
End Sub

Private Sub ПолеСоСписком22_AfterUpdate()
Me.Requery
End Sub
Для поля 18(свойства-источник строк):SELECT DISTINCT ЗапросСовм.Категория FROM ЗапросСовм;
Для поля 20(свойства-источник строк):SELECT DISTINCT ЗапросСовм.Название_аксессуара, ЗапросСовм.Категория FROM ЗапросСовм WHERE (((ЗапросСовм.Категория)=Forms![Выбор по аксессуару]!ПолеСоСписком18));
Для поля 22(свойства-источник строк):SELECT DISTINCT ЗапросСовм.Марка_телефона, ЗапросСовм.Категория, ЗапросСовм.Название_аксессуара FROM ЗапросСовм WHERE (((ЗапросСовм.Категория)=Forms![Выбор по аксессуару]!ПолеСоСписком18) And ((ЗапросСовм.Название_аксессуара)=I If(Forms![Выбор по аксессуару]!ПолеСоСписком20<>"",Forms![Выбор по аксессуару]!ПолеСоСписком20,"")));
porfonya вне форума Ответить с цитированием
Старый 27.07.2009, 07:10   #4
Altorus
Новичок
Джуниор
 
Регистрация: 27.07.2009
Сообщений: 1
По умолчанию

Цитата:
Сообщение от porfonya Посмотреть сообщение
Попробуй так, у меня работает:
Private Sub ПолеСоСписком18_AfterUpdate()
Me![ПолеСоСписком20].Requery
Me![ПолеСоСписком20] = Me![ПолеСоСписком20].ItemData(0)
.......
((ЗапросСовм.Название_аксессуара)=I If(Forms![Выбор по аксессуару]!ПолеСоСписком20<>"",Forms![Выбор по аксессуару]!ПолеСоСписком20,"")));
В принципе, работает, но подскажите, пожалуйста, ламеру, как сдеать так, тобы после выбора в списке 1 нужного значения и обновления списка 2 (3.4...), было активно то же поле со списком, а не перескакивало на первое поле в первой записи...
Altorus вне форума Ответить с цитированием
Старый 06.10.2009, 20:57   #5
GUSEVV
 
Регистрация: 22.08.2009
Сообщений: 3
По умолчанию

Дайте плз посмотреть архив с БД.
Андрей.
GUSEVV вне форума Ответить с цитированием
Старый 09.10.2009, 18:10   #6
DrEvil
Новичок
Джуниор
 
Регистрация: 09.10.2009
Сообщений: 1
Восклицание 2 комбо и кнопка

Здравствуйте!)) В продолжение этой темы хотелось бы ещё узнать, как получить данные из комбо?
У меня есть два списка. Сначала выбираем в одном нужную информацию, потом в другом выбираем информацию, соответствующую инфе в первом списке. А снизу есть кнопка, при нажатии которой нужно, чтобы появилась в стандартном просмотрщике Виндоуса картинка, соответствующая второму комбо. Только не знаю, как это сделать... Вроде процедуру на кнопку надо... Картинка вставлена в таблицу объектом OLE.
Может глянете, товарищи корифеи аксеса, чем можно помочь...?! Очень надо!
DrEvil вне форума Ответить с цитированием
Старый 05.07.2011, 15:12   #7
Abjuration
Новичок
Джуниор
 
Регистрация: 05.07.2011
Сообщений: 3
По умолчанию Таже беда

Нужно чтоб в списке сотрудников общий когда выбираешь со списка поле ФИО сотрудника подтягивалась его должность автоматом.

Помогите пожалуйста
Abjuration вне форума Ответить с цитированием
Старый 05.07.2011, 15:41   #8
Abjuration
Новичок
Джуниор
 
Регистрация: 05.07.2011
Сообщений: 3
По умолчанию

Помогите, чтоб заполняя таблицу "Список пользователей общий"...мы вставляя данные с таблицы "Список сотрудников" получили заполненную в Общей таблице колонку Должность....Например если Савостьян бухгалтер в таблице "Список сотрудников", то чтоб в таблице "Список пользователей общий" она автоматом была бухгалтером..
Аналогично, чтоб выбирая серийный номер модема мы получали его модель..

ПОЖАЛУЙСТА
Abjuration вне форума Ответить с цитированием
Старый 05.07.2011, 15:43   #9
Abjuration
Новичок
Джуниор
 
Регистрация: 05.07.2011
Сообщений: 3
По умолчанию

Не могу присоединить файл..пишет неккоректный файл
Abjuration вне форума Ответить с цитированием
Старый 09.07.2011, 01:22   #10
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от Abjuration Посмотреть сообщение
............................
Почитайте
DLOOKUP
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Слияние списков Rom@shka Общие вопросы C/C++ 5 07.05.2009 20:24
Формирование списков BrenD Microsoft Office Excel 1 06.04.2009 08:28
Генерация выпадающих списков Geddar PHP 29 03.03.2009 20:48
слияние списков counter Общие вопросы C/C++ 4 02.01.2009 22:47
Создание выпадающих списков в Word Dux Microsoft Office Word 12 25.08.2008 09:50