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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передать значение запроса в переменную VBA 
:(
    Опции темы
Freazeek
Дата 30.4.2010, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



День добрый.

Есть две таблицы: первая - имена людей, вторая - значения для имен.

Есть форма: на форме комбобокс и текстбокс.
Список комобобокса формируется из таблицы Имена людей.

Надо: при выборе имени в комбобоксе - подставить в текстбокс максимальное значение для этого имени из таблицы Значения для имен.
По возможности на VBA.

Сам смог нарисовать 
Код

Private Sub Cmbx_People_Change()
Dim s As Long
Dim i As Long
Dim sql As String

s = Cmbx_People.Column(0, Cmbx_People.ListIndex) ' получаем ID выбранного человека
sql = "SELECT max(val) from znach where idpeople=" & s ' формирует SQL запрос
'DoCmd.RunSQL sql   'это не работает и вообще не уверен что это из этой оперы.
'i =  ' должно получать максимальное значение для выбранного человека
Txbx_Values = i ' вывод на форму полученное значение
End Sub


Попробовал сначала сделать запрос, который возвращает имена с максимальными значениями, но получилось очень громоздко.

Заранее спасибо. Извините если вопрос обсуждался. Пока формулировать вопросы не научился)



Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  test.rar 14,06 Kb
PM MAIL   Вверх
Akina
Дата 30.4.2010, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Код

Private Sub Cmbx_People_Change()
Dim s As Long
Dim dbs As Database
Dim rst As Recordset

s = Nz(Cmbx_People.Column(0, Cmbx_People.ListIndex), 0)
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("SELECT max(val) as mval from znach where idpeople=" & CStr(s))
Txbx_Values = rst!mval
End Sub



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

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


Новичок



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

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



большое спасибо.
PM MAIL   Вверх
Akina
Дата 30.4.2010, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Freazeek, пометьте вопрос как решённый (справа вверху).



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

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


Эксперт
***


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

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



DMax рулит.

Код

Txbx_Values = DMax("Val", "znach", "idpeople=" & CStr(s))

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

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

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

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


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

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


 




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


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

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