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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2012, 17:49   #1
Di_sol
Пользователь
 
Регистрация: 15.11.2011
Сообщений: 26
По умолчанию Получение результата запроса в переменную integer

Здравствуйте!
В таблице есть поле типа integer. С помощью какого запроса можно получить его в переменную?
Di_sol вне форума Ответить с цитированием
Старый 11.01.2012, 18:32   #2
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Что таблица с одним полем и одной строчкой?

set t = openrecordset(запрос)

p = t![имя столбца]

t.movefirst 'первая строка
Do Until t.EOF

t.movenext ' следующая строка
loop
gluk_fm вне форума Ответить с цитированием
Старый 11.01.2012, 18:48   #3
Di_sol
Пользователь
 
Регистрация: 15.11.2011
Сообщений: 26
По умолчанию

нет, в таблице много полей. мне в переменную нужно записать что-то типа
"SELECT salary FROM worker WHERE id = 4"
Результат вернет одно значение
Di_sol вне форума Ответить с цитированием
Старый 11.01.2012, 19:40   #4
Woodlin
Форумчанин
 
Регистрация: 30.03.2010
Сообщений: 153
По умолчанию

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

Код:
t.movefirst 'первая строка
Do Until t.EOF

t.movenext ' следующая строка
loop
-не пригодится, нужная запись извлекается запросом

Кстати можно использовать DlookUp, но у этой функции есть ограничение по количеству записей в таблице, точное количество не помню, посмотрите в справке.
Woodlin вне форума Ответить с цитированием
Старый 11.01.2012, 20:52   #5
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Di_sol.
"..поле..С помощью..запроса..получить..в переменную.."
В переменную поместить значение поля можно с помощью функции:
Код:
Function FieldValue(i As Long) As Integer
Const sQ = "SELECT salary FROM worker WHERE id ="
Dim v
Set v = CurrentProject.Connection.Execute(sQ & i)
If Not v.EOF Then v = v.Fields(0)
End Function
обратившись к ней подобным образом:
Код:
Sub Procedure1()
Dim v

v = FieldValue(4)

End Sub
Евгений.

Последний раз редактировалось Teslenko_EA; 11.01.2012 в 21:52.
Teslenko_EA вне форума Ответить с цитированием
Старый 12.01.2012, 13:49   #6
Di_sol
Пользователь
 
Регистрация: 15.11.2011
Сообщений: 26
По умолчанию

Спасибо всем, сейчас реализую!
Di_sol вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка чтения из файла в переменную типа integer Max1548 Общие вопросы Delphi 2 12.10.2011 12:34
Постепенное получение результата запроса $T@LKER БД в Delphi 13 12.08.2011 13:00
Получение результата из dll Alexandr555 Работа с сетью в Delphi 7 16.04.2011 20:56
как переменную типа TFont перевести в тип integer? делфи_6 Общие вопросы Delphi 8 26.05.2010 06:02
к переменной типа integer присвоить переменную string Kigmatig Помощь студентам 7 29.01.2010 21:55