Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
duh_si
566 / 166 / 22
Регистрация: 18.10.2012
Сообщений: 887
1

выпадающий список

30.05.2013, 20:06. Просмотров 1661. Ответов 20
Метки нет (Все метки)

На форме расположены 2 combobox, нужно при выборе определенной позиции в комбобокс(Проект) во втором комбобокс(Продукт) показывались продукты только для этого проекта.
0
Миниатюры
выпадающий список  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2013, 20:06
Ответы с готовыми решениями:

Выпадающий список
Добрый всем день.Помогите не могу ни как разобраться. Форма сформирована из...

Выпадающий список
Допустим, на форме есть графа "разработчики" (список со стрелкой). При запуске...

Выпадающий список
В форме заселения. Выпадающий список Номер не выполняется запрашивает параметры.

Выпадающий список
Здравствуйте, в базе есть форма кандидаты, на основе запроса кандидаты. В нем...

Выпадающий список
Здравствуйте, подскажите пожалуйста, можно ли сделать в данном примере...

20
duh_si
566 / 166 / 22
Регистрация: 18.10.2012
Сообщений: 887
30.05.2013, 20:37  [ТС] 2
Комбобокс(Продукт) находится на подчиненной форме
0
mobile
Эксперт MS Access
22937 / 13008 / 2694
Регистрация: 28.04.2012
Сообщений: 14,242
30.05.2013, 20:48 3
На событии AfterUpdate (После обновления) проекта формируете источник комбо Продукт
Visual Basic
1
2
3
4
5
Dim s
s="select <нужныеполя> " _
& " from Продукт " _
& " where Проект= " & Me.Проект
Me.МояСубформа!Продукт.RowSource=s
Здесь дан вариант с первоначальным размещением собранной строки в переменную s. Это удобно для последующей отладки

Предполагается, что
1. Значением комбо Проект на главной форме является поле Код таблицы Проект
2. Поля Код и Проект числовые
1
duh_si
566 / 166 / 22
Регистрация: 18.10.2012
Сообщений: 887
30.05.2013, 21:20  [ТС] 4
Поля Код и Проект числовые. А вот комбобокс(Проект) сделан перекрестным_проектом
0
Миниатюры
выпадающий список  
mobile
Эксперт MS Access
22937 / 13008 / 2694
Регистрация: 28.04.2012
Сообщений: 14,242
30.05.2013, 22:04 5
Если в селекте источника комбо Проект есть поле Проект из т.Продукты, то вы полне можете воспользоваться предложенным вариантом. Только заменив выбор полей в селекте на звездочку, а таблицу Продукт на имя перекрестного запроса.
Если число полей перекрестного запроса может меняться от проекта к проекту, то надо будет также поменять несколько свойств комбобокса Продукт
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim s, n, i
s="select * " _
& " from [ПерекрестныйЗапрос] " _
& " where Проект= " & Me.Проект
with Me.МояСубформа!Продукт 
  .RowSource=s
  n=.Recordset.Fields.Count
  .ColumnCount=n
  s="0см;"
  For i=1 to n
    s=s & "2.5см;" 'здесь указана стандартная ширина поля комбо, можно заменить на нужную
  Next
  .ColumnWidths=s
End with
ЗЫ. Не проверял :-)
2
duh_si
566 / 166 / 22
Регистрация: 18.10.2012
Сообщений: 887
31.05.2013, 08:51  [ТС] 6
Извеняюсь за тупые вопросы, ваш код выдает ошибку на строку with Me.МояСубформа!Продукт , подскажи пожалуйста что мне нужна писать вместо МояСубформа, название основной формы или подчиненной или еще что то?

Добавлено через 2 минуты
On Error Resume Next
Dim strSQL As String

strSQL = "SELECT Продукт.Название, Продукт.Код " & _
"FROM Продукт " & _
"WHERE Продукт.Проект = " & Me.Проект.Column(1)



Me!Наименование.RowSource = strSQL
Me!Наименование.Requery

Пробовал такой код, но он работает когда комббоксы находятся на одной форме, может его как можно доработать для моей проблемы?
0
mobile
Эксперт MS Access
22937 / 13008 / 2694
Регистрация: 28.04.2012
Сообщений: 14,242
31.05.2013, 09:08 7
duh_si, МояСубформа это имя контрола на главной форме, который содержит подчиненную. Чаще всего, когда форма делается мастером, имя этого контрола совпадает с именем подчиненной формы.

Можете выложить свой проект здесь. Только необходимое. Предварительно БД сжать и заархивировать.
0
duh_si
566 / 166 / 22
Регистрация: 18.10.2012
Сообщений: 887
31.05.2013, 09:45  [ТС] 8
БД выложить не могу большой размер и данные не могу распространять, могу только скриншоты и описать где что написано. И еще ворос код нужно писать в комбобокс проект или продукт?
0
Миниатюры
выпадающий список  
alvk
Эксперт MS Access
5616 / 3509 / 171
Регистрация: 12.08.2011
Сообщений: 8,943
31.05.2013, 09:49 9
Цитата Сообщение от duh_si Посмотреть сообщение
и данные не могу распространять
а вбить фонарные не судьба?
Цитата Сообщение от duh_si Посмотреть сообщение
БД выложить не могу большой размер
Цитата Сообщение от mobile Посмотреть сообщение
Можете выложить свой проект здесь. Только необходимое. Предварительно БД сжать и заархивировать.
0
duh_si
566 / 166 / 22
Регистрация: 18.10.2012
Сообщений: 887
31.05.2013, 10:04  [ТС] 10
Цитата Сообщение от alvk Посмотреть сообщение
БД выложить не могу большой размер?
и БД находится на сервере
0
mobile
Эксперт MS Access
22937 / 13008 / 2694
Регистрация: 28.04.2012
Сообщений: 14,242
31.05.2013, 10:31 11
Цитата Сообщение от duh_si Посмотреть сообщение
БД выложить не могу большой размер и данные не могу распространять, могу только скриншоты и описать где что написано.
В принципе достаточно было бы формы, запроса и обеих таблиц с небольшим количеством придуманных записей. Лишь бы можно было воспроизвести ситуацию. Вы можете сделать новую БД, импортировать форму и таблицы с сервера с несколькими записями. Конфиденциальную информацию, как правило это текст, можно затереть. Если в таблицах есть поля ОЛЕ или вложения, то их содержание надо удалить в выставляемой БД.


Цитата Сообщение от duh_si Посмотреть сообщение
И еще ворос код нужно писать в комбобокс проект или продукт?
Я уже писал, что код исполняется на событии AfterUpdate влияющего комбо, т.е. того, который в вашем случае находится на главной форме. Изменения в нем должны вызвать модификацию источника поля со списком, находящегося в субформе.
0
duh_si
566 / 166 / 22
Регистрация: 18.10.2012
Сообщений: 887
31.05.2013, 13:25  [ТС] 12
Сделал как вы просили, возможно какие то ошибки будут, конструктор открывает, abs_v1.02 запускать shift+Enter, после того как запуститься удалить таблицы, затем вкладка Внешние данные Access..Имя файла abs_be..создать связанную таблицу.
0
Вложения
Тип файла: rar Новая папка.rar (671.8 Кб, 3 просмотров)
mobile
Эксперт MS Access
22937 / 13008 / 2694
Регистрация: 28.04.2012
Сообщений: 14,242
31.05.2013, 13:43 13
duh_si, вы не написали в какой форме обсуждемая проблема. Будем гадать. Предположу, что форма называется "ПродуктВсе", ведуший комбо "Группа продуктов", а подчиненный "Проект".
Так вот нет в этой форме подчиненной. Она вся главная. Но "разделенная". Это такой новый тип форм. К сожалению, сделать тестовый пример не смогу, поскольку не прислана таблица "[Список групп продуктов]" - источник комбо "Группа продуктов". Но вы можете сами попробовать используя ранее присланный код, только убрав ссылку на подчиненную форму из всех адресов.

Если же форма называется "Заказ", то она вообще не открывается, поскольку ей там много чего не хватает.
0
duh_si
566 / 166 / 22
Регистрация: 18.10.2012
Сообщений: 887
31.05.2013, 14:07  [ТС] 14
Извеняюсь что не сказал какие формы,.На форме Заказ один, нужно что бы при выборе проекта из комбо (Проект) показывались продукты только по этому проекту комбо (продукт)
0
Вложения
Тип файла: rar Новая папка.rar (705.8 Кб, 9 просмотров)
mobile
Эксперт MS Access
22937 / 13008 / 2694
Регистрация: 28.04.2012
Сообщений: 14,242
31.05.2013, 15:24 15
duh_si, от того, что вы показали линкованные таблицы в файле форм, от этого данные не появились. А в файле таблиц, как были три таблицы, так столько же и осталось
0
duh_si
566 / 166 / 22
Регистрация: 18.10.2012
Сообщений: 887
31.05.2013, 15:33  [ТС] 16
Вот БД.
0
Вложения
Тип файла: rar ABS_be20130529.rar (118.1 Кб, 8 просмотров)
mobile
Эксперт MS Access
22937 / 13008 / 2694
Регистрация: 28.04.2012
Сообщений: 14,242
31.05.2013, 16:41 17
Да, duh_si, объяснятель из вас, прямо скажем неважный. Надо бы потренироваться :-)

Смотрите процедуру AfterUpdate поля со списком Проект на главной форме "Заказ один"
0
duh_si
566 / 166 / 22
Регистрация: 18.10.2012
Сообщений: 887
31.05.2013, 17:04  [ТС] 18
Мало на форуме бываю, вот и объясняю соответственно плохо, а на процедуру AfterUpdate я уже 2 день смотрю, только плохо у меня совсем с VBA не получается пока что правильно код написать.

Добавлено через 5 минут
Так как правильно написать процедуру для AfterUpdate комбо(Проект) ?
З.Ы Что можно почитать, что бы пополнить знания в access и VBA(Особенно)
0
mobile
Эксперт MS Access
22937 / 13008 / 2694
Регистрация: 28.04.2012
Сообщений: 14,242
31.05.2013, 17:44 19
Цитата Сообщение от duh_si Посмотреть сообщение
Так как правильно написать процедуру для AfterUpdate комбо(Проект) ?
Недоперепонял... Я так ее неправильно написал?

Цитата Сообщение от duh_si Посмотреть сообщение
З.Ы Что можно почитать, что бы пополнить знания в access и VBA(Особенно)
Книг много. Среди знающих предмет популярны книги Гетца и Ко - Access 2002. Разработка настольных приложений и Access 2002. Разработка корпоративных приложений
0
duh_si
566 / 166 / 22
Регистрация: 18.10.2012
Сообщений: 887
31.05.2013, 17:59  [ТС] 20
я имею в виду какой код в комбо(проект) написать, что бы из комбо(продукт) выдавался продукт только по этому проекту.
0
31.05.2013, 17:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2013, 17:59

Выпадающий список
Здравствуйте. Кто-нибудь знает как сделать в форме там где поле Название...

Выпадающий список
Всем привет. У меня такой вопрос, сейчас в списке хранятся две записи...

Выпадающий список
Всем привет!) Прошу помощи, не получается сделать выпадающий список, нужно...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru