Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получить значение из поля со списком 
:(
    Опции темы
tempUser
Дата 19.4.2011, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.3.2011

Репутация: нет
Всего: нет



Привет всем.
Вроде тривиальная задача, но что-то не получается.
На форме имеется поле со списком и кнопка. Пользователь выбирает из списка какое-то значение. По нажатии на кнопку выполняется запрос, в который должно подставляться значение из поля со списком. Но почему-то запрос ничего не выбирает.
Та же самая операция прекрасно работает, если вместо поля со списком использовать обычное поле.
Предполагаю, что могу неправильно обращаться к выбранному значению поля со списком.
Код
[Forms]![MAIN_FORM]![titleList]
]
Возможно мало указать на titleList, а нужно еще указывать на конкретный элемент в нем... Но это только мое предположение.
Помогите разобраться, пожалуйста.
PM MAIL   Вверх
Akina
Дата 19.4.2011, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 453



Вы указали само поле со списком (элемент управления), в то время как надо было указать конкретное его свойство 
Код

[Forms]![MAIN_FORM]![titleList].Text



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
tempUser
Дата 19.4.2011, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.3.2011

Репутация: нет
Всего: нет



Прошу прощения, забыл написать... данный код я использую не в vba, а в конструкторе запросов в условии отбора.
Код
[Forms]![MAIN_FORM]![titleList].Text

Это не помогло.
PM MAIL   Вверх
Akina
Дата 20.4.2011, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 453



Цитата(tempUser @  19.4.2011,  23:44 Найти цитируемый пост)
данный код я использую не в vba, а в конструкторе запросов в условии отбора.

Я написАл именно для конструктора запросов.
Если не работает - значит, либо текстовая часть не заполнена (что странно после выбора), либо форма не открыта (или закрыта) на момент выполнения запроса.
В общем, читайте закреплённую тему и выкладывайте макет проблемы.

Добавлено через 44 секунды
Ещё возможно, что в поле со списком несколько колонок... возможно, скрытых.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
tempUser
Дата 20.4.2011, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.3.2011

Репутация: нет
Всего: нет



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

PM MAIL   Вверх
bopoha
Дата 20.4.2011, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Я очень не рекомендую использовать ссылки на поля форм напрямую из запросов. Что-нибудь потом поменять становится проблемой.

Используйте запрос с параметрами.
Выполнить его можно так:
Код

dim qry as DAO.QueryDef

set qry = CurrentDb.QueryDefs("query_name")
qry.Parameters("prmTitle") = Me.[titleList]
qry.Execute or OpenRecordset()


Если пользователю нужно посмотреть результат, то еще лучше воспользоваться формой и открывать ее с нужным фильтром.

Добавлено через 2 минуты и 11 секунд
Кстати, проблема с чтением данных из полей формы в запросах в моем опыте была из-за того, что по факту данные не сохранялись в элементе управления.


Цитата(Akina @  19.4.2011,  22:39 Найти цитируемый пост)
Вы указали само поле со списком (элемент управления), в то время как надо было указать конкретное его свойство 


Это делать не обязательно. У элементов управления типа поле, список и т.п. есть свойство по умолчанию Value.
PM MAIL WWW ICQ Skype GTalk   Вверх
Akina
Дата 21.4.2011, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 453



Цитата(bopoha @  21.4.2011,  00:30 Найти цитируемый пост)
Это делать не обязательно. У элементов управления типа поле, список и т.п. есть свойство по умолчанию Value. 

Для многоколоночного списка, как правило, нужно получить не Value (вернее Text), а соответствующий ему ID из скрытой колонки.



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
zlato
Дата 27.10.2015, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 25.10.2015

Репутация: нет
Всего: 1



Akina, здравствуйте,

в этой "старой" теме напоминает о себе Дмитрий (zlato), которому Вы в другой теме посоветовали работать со списками учащихся, в том числе с медицинскими полисами, не в Excel, а Access. Я начал делать это.

Возникла такая проблема.
Я хочу, чтобы при выборе на форме значения из поля со списком ("После обновления") выполнялся макрос, открывающий запрос, в котором для отбора используется выбранное значение.
Создал запрос с условием отбора (ссылка на поле) и  макрос, его открывающий.
Но при этом запрос с _выбранным_значением_ не выполняется, а открывается результат его (запроса) предыдущего выполнения.

В макросе сразу же запустить, выполнить запрос почему-то нельзя.

Что можно сделать?

Спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.1344 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.