Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.85/46: Рейтинг темы: голосов - 46, средняя оценка - 4.85
1 / 1 / 0
Регистрация: 24.01.2011
Сообщений: 46
1

Как присвоить полю значение запроса?

24.01.2011, 16:54. Показов 9117. Ответов 38
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Спасите не могу никак присвоить полю значение запроса....., т.е. На форме два поля в одном выбирается вид отчета, а в другом я бы ходела, чтобы выводился результат запроса, который уже написан на SQL.
В версии Access 1997 можно было написать процедуру после обновления поля:Private Sub lstDep_AfterUpdate()
lstF.RowSource = ...
End Sub
А в 2003 RowSource нету чем это можно заменить. Или как-то подругому.
Заранее Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.01.2011, 16:54
Ответы с готовыми решениями:

Как присвоить полю значение из запроса?
Выдает ошибку "Invalid use of property" Dim rst As DAO.Recordset Dim sSQL As String sSQL =...

Как полю присвоить значение запроса
Здравствуйте, подскажите пожалуйста Как полю присвоить значение запроса

Как присвоить результат запроса переменной или полю
Есть комбоокс. На событии изменение (и для уверенности и на внесены изменение) должен производится...

Как присвоить значение полю
Доброго времени суток уважаемые форумчане. Помогите разобраться. Мне необходимо присвоить полю (в...

38
0 / 0 / 0
Регистрация: 12.01.2011
Сообщений: 39
26.01.2011, 14:31 21
Author24 — интернет-сервис помощи студентам
и такая таблица существует?
0
1 / 1 / 0
Регистрация: 24.01.2011
Сообщений: 46
26.01.2011, 14:54  [ТС] 22
Какая таблица?
0
0 / 0 / 0
Регистрация: 12.01.2011
Сообщений: 39
26.01.2011, 15:08 23
сумма вида
0
1 / 1 / 0
Регистрация: 24.01.2011
Сообщений: 46
26.01.2011, 16:15  [ТС] 24
Это запрос на который считает кол-во
0
0 / 0 / 0
Регистрация: 08.02.2010
Сообщений: 345
26.01.2011, 16:20 25
А запрос такой существует?
Проверь название
Посмотри работает ли он...
0
0 / 0 / 0
Регистрация: 12.01.2011
Сообщений: 39
26.01.2011, 16:33 26
запрос так посылать нельзя - если нет таблицы он воспринимает текст в кавычках как код (надо openrecordset('select blah blah')
0
1 / 1 / 0
Регистрация: 24.01.2011
Сообщений: 46
26.01.2011, 16:33  [ТС] 27
Запрос такой существует, название такое-же, он работает
0
5 / 5 / 0
Регистрация: 19.03.2009
Сообщений: 743
26.01.2011, 20:50 28
С такими вопросами, ИМХО, лучше на форумы, где можно присоединить контрольный пример (Mdb в Zip-архиве)
Лучше 1 раз увидеть...
0
118 / 118 / 10
Регистрация: 12.05.2010
Сообщений: 1,207
27.01.2011, 11:53 29
А если Вы вставите исполнение запроса с выводом на экран, то убедитесь в том, что он не работает:
Visual Basic
1
2
3
4
Dim table As DAO.Recordset
DoCmd.RunSQL '......вставьте сюда текст запроса 'Сумма вида'......'
Set table = CurrentDb.OpenRecordset('Сумма вида', dbOpenDynaset)
If Not table.EOF Then lstG = table.Fields(0)
0
1 / 1 / 0
Регистрация: 24.01.2011
Сообщений: 46
27.01.2011, 12:19  [ТС] 30
Я подставила запрос и на запуск он требует, что для макрокоманды ЗапуксЗапросаSQL требуется аргумент, состоящий из инструкции SQL.
Visual Basic
1
2
3
4
5
6
Private Sub btn21_Click()
If txtV.Value <> 'Все' Then
Dim table As DAO.Recordset
DoCmd.RunSQL 'SELECT [Список сделанных].Vid, Count([Список сделанных].Date4) AS [Count-Date4] FROM [Срисок сделанных] GROUP BY [Список сделанных].Vid HAVING ((([Список сделанных].Vid) = Forms!Podchet.txtV.Value))'
Set table = CurrentDb.OpenRecordset('Сумма вида', dbOpenDynaset)
If Not table.EOF Then lstG = table.Fields(0)
Если знаете как это исправить, пожалуйста, скажите
0
5 / 5 / 0
Регистрация: 19.03.2009
Сообщений: 743
27.01.2011, 12:24 31
Он не понимает Forms!Podchet.txtV.Value
Создайте SQL_строку = 'SELECT [Список сделанных].Vid, Count([Список сделанных].Date4) AS [Count-Date4] FROM [Срисок сделанных] GROUP BY [Список сделанных].Vid HAVING ((([Список сделанных].Vid) = '' & CStr(Forms!Podchet.txtV.Value) & ''))'
и пользуйтесь ей
0
5 / 5 / 0
Регистрация: 19.03.2009
Сообщений: 743
27.01.2011, 12:31 32
Интересно, почему Вы не копируете в сообщения Форума то, что есть на самом деле ? В результате все обсуждают какие-то фантомы, а не то, что у Вас в программе. Например, СРИСОК - это СПИСОК ??
0
1 / 1 / 0
Регистрация: 24.01.2011
Сообщений: 46
27.01.2011, 12:50  [ТС] 33
Это я опечаталась, извеняюсь.
Сказите, пожайлуста, когда говорите завести строчку SQL,Вы имеете ввиду, на кнопке прописать название поля.RowSource
0
5 / 5 / 0
Регистрация: 19.03.2009
Сообщений: 743
27.01.2011, 12:56 34
Visual Basic
1
2
3
4
5
6
7
8
Private Sub btn21_Click()
If txtV.Value <> 'Все' Then
Dim table As DAO.Recordset
Dim SQL_строку As Strung
SQL_строку = 'SELECT [Список сделанных].Vid, Count([Список сделанных].Date4) AS [Count-Date4] FROM [Срисок сделанных] GROUP BY [Список сделанных].Vid HAVING ((([Список сделанных].Vid) = '' & CStr(Forms!Podchet.txtV.Value) & ''))'
DoCmd.RunSQL SQL_строку
Set table = CurrentDb.OpenRecordset(SQL_строку, dbOpenDynaset)
If Not table.EOF Then lstG = table.Fields(0)
Для копирования - Установите Rus регистр на клавиатуре, выделите текст, Copy/Paste
Удачи
0
1 / 1 / 0
Регистрация: 24.01.2011
Сообщений: 46
27.01.2011, 13:36  [ТС] 35
Если поставить прямо так, то пишет ошибку User-defined type not defined. А если место Strung-String, то опять для макрокоманды ЗапускЗапрсаSQL и т.д. Что делать?
0
5 / 5 / 0
Регистрация: 19.03.2009
Сообщений: 743
27.01.2011, 13:42 36
См. мое сообщение от 18.11.2004 21:13
Рекомендую http://www.sql.ru/forum/actualtopics.aspx?bid=4 (Форум по Ассеss)
0
118 / 118 / 10
Регистрация: 12.05.2010
Сообщений: 1,207
27.01.2011, 14:10 37
К сожалению, у нас ничего не выйдет с RunSQL: по-видимому, 'Список сделанных' - это имя запроса. А этого DoCmd.RunSQL не позволяет...
Неужели у Вас работает этот запрос?
Проверьте, что у Вас работают все подчинённые этого запроса.
Или попробуйте поставить вместо строки DoCmd.RunSQL 'SELECT ...'

Exit Sub

или Exit Function (в зависимости от ситуации) и когда программа прекратит своё исполнение (как раз перед исполнением OpenRecordSet - а форма останется на экране!), перейдите в окне 'База данных' MS Access на закладку 'Запросы' и запустите запрос 'Список сделанных'.
0
1 / 1 / 0
Регистрация: 24.01.2011
Сообщений: 46
27.01.2011, 15:11  [ТС] 38
Почему вы так упорно говорите, что запрос у меня не работает?
0
118 / 118 / 10
Регистрация: 12.05.2010
Сообщений: 1,207
27.01.2011, 15:32 39
Потому что сообщение 'Слишком много параметров, требуется один' возникает только при наличии ошибки в запросе. По крайней мере, другие способы получения такой ошибки мне не известны...
0
27.01.2011, 15:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.01.2011, 15:32
Помогаю со студенческими работами здесь

Присвоить значение полю в отчете
Здравствуйте Вам , о мудрые головы форума!! Помогите, плиZ !:cry: Сказываются многочасовые...

Как в VBA присвоить переменным значение полей таблицы или запроса?
Доброго времени суток форумчане. Подскажите как в VBA присвоить переменным значение полей таблицы,...

Присвоить Полю значение полученное по запросу
Здравствуйте! Как правильно присвоить полю &quot;Поле1&quot; текущей формы значение поля &quot;Поле2&quot; запроса...

Никак не могу присвоить значение полю формы
В Акссесс и ВБА я откровенный новичок. Но пришлось автоматизировать то, что ранее делалось в...


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

Или воспользуйтесь поиском по форуму:
39
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru