Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Parametrs / 12 сообщений из 12, страница 1 из 1
08.04.2016, 09:18
    #39210742
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Parametrs
Добрый день, подскажите как правильно пользоваться параметрами.
Есть сохраненный запрос типа
Код: sql
1.
select * form t1 where id=[введите значение]



Как передать в него значение id по нажатию кнопки?
Код: vbnet
1.
2.
3.
4.
5.
Dim tq As DAO.QueryDef
    Set tq = CurrentDb.QueryDefs("tst")
    tq.Parameters(0).Value = "1"
        
    qdf.Execute



На строке Execute Невозможен запуск запроса на выборку
...
Рейтинг: 0 / 0
08.04.2016, 09:37
    #39210757
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Parametrs
Метод Execute определен только для запросов на изменение.
Запросы на изменение не возвращают записей.

Для выполнения SELECT применяйте DoCmd.RunSQL.
...
Рейтинг: 0 / 0
08.04.2016, 09:46
    #39210763
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Parametrs
Заменил на DoCmd.RunSQL tst
Выходит ошибка
Ошибочная инструкция SQL: предлогалось Delete, insert, select или update
...
Рейтинг: 0 / 0
08.04.2016, 09:56
    #39210770
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Parametrs
noobsЗаменил на DoCmd.RunSQL tst
Выходит ошибка
Ошибочная инструкция SQL: предлогалось Delete, insert, select или updateВы бы хоть посмотрели предварительно описание метода.
Там не название запроса должно быть (да еще и без кавычек...), а инструкция SQL.
Либо просто текст запроса (само собой, в кавычках), либо tst.SQL.
...
Рейтинг: 0 / 0
08.04.2016, 10:09
    #39210786
\\\\
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Parametrs
noobs,
Код: vbnet
1.
2.
3.
4.
5.
6.
Dim tq As DAO.QueryDef
Dim rst As DAO.Recordset
    Set tq = CurrentDb.QueryDefs("tst")
    tq.Parameters(0) = "1"
    Set rst = tq.OpenRecordset
    
...
Рейтинг: 0 / 0
08.04.2016, 10:29
    #39210801
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Parametrs
\\\\,

После записи параметров мне выполнить запрос нужно, а не открыть рекордсет
...
Рейтинг: 0 / 0
08.04.2016, 10:39
    #39210815
\\\\
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Parametrs
noobs, что значит "выполнить" в контексте запроса на выборку? Выполнение такого запроса, без получения набора записей, не имеет смысла.
...
Рейтинг: 0 / 0
08.04.2016, 12:05
    #39210933
noobs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Parametrs
\\\\,
Запрос был как пример, в действительности мне нужно в запрос Update передавать параметры
...
Рейтинг: 0 / 0
08.04.2016, 12:28
    #39210958
MrShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Parametrs
noobsЗапрос был как пример, в действительности мне нужно в запрос Update передавать параметры
Ну так и ставьте update, с select будет ошибка.
Параметры лучше определять явно в запросе в списке параметров и обращаться к ним по имени, а не по порядковому номеру, потенциальная ошибка при добавлении параметров

Код: vbnet
1.
2.
3.
4.
Set qdf = dbLocal.QueryDefs("MyQuery")
qdf.Parameters("Parm1") = "1"
qdf.Execute dbFailOnError
qdf.Close
...
Рейтинг: 0 / 0
08.04.2016, 12:30
    #39210959
MrShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Parametrs
__MichelleДля выполнения SELECT применяйте DoCmd.RunSQL.
RunSQL выдаст ту же ошибку, этот метод аналогичен Execute
...
Рейтинг: 0 / 0
08.04.2016, 12:31
    #39210961
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Parametrs
noobs\\\\,
Запрос был как пример, в действительности мне нужно в запрос Update передавать параметры
Так пропишите в запросе параметры. Здесь на форуме в справке вроде есть примеры запросов с параметрами.
...
Рейтинг: 0 / 0
08.04.2016, 12:37
    #39210967
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Parametrs
MrShin__MichelleДля выполнения SELECT применяйте DoCmd.RunSQL.
RunSQL выдаст ту же ошибку, этот метод аналогичен ExecuteДа. Я уже посмотрела.
Всегда пользуюсь Execute, DoCmd уже немного выветрился.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Parametrs / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]