powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблема: Cannot execute a select query
10 сообщений из 10, страница 1 из 1
Проблема: Cannot execute a select query
    #32089256
Фотография Vadim Kutuzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, народ!
У меня опять проблема, работа стоит :(
VBA выдаёт ошибку "Cannot execute a select query", когда пытаюсь выполнить
dbs.Execute "Select * From Table". Help! Кто с этим встречался?

Код: plaintext
1.
2.
3.
4.
5.
6.
Private Sub InsertDateTime()
Dim dbs As DAO.Database
Set dbs = CurrentDb
dbs.Execute  "SELECT * FROM oLongHistIndexH1;" 
dbs.Close
End Sub
...
Рейтинг: 0 / 0
Проблема: Cannot execute a select query
    #32089257
Фотография Vadim Kutuzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал по другому запрос подать - получилось.

Код: plaintext
1.
2.
MinimumQuery =  "SELECT "  & MinimumValue &  " FROM Test_QRY Where Datevalue(Test_QRY.Timeset)=DateMin and Test_QRY.CalcType=MIN" 
qdf.SQL = MinimumQuery


А мне бы теперь полеченный результат в этом запросе приравнять некоторой переменной Minimum. Подскажите, как это сделать, а?
...
Рейтинг: 0 / 0
Проблема: Cannot execute a select query
    #32089272
наутилус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
запрос на выборку не может быть запущен! куда он может выбрать записи? =)

Private Sub InsertDateTime()
Dim dbs As DAO.Database
dim rst as recordset

Set dbs = CurrentDb
set rst=dbs.openrecordset("SELECT * FROM oLongHistIndexH1;")
min=rst.fields("ИмяПоля")
dbs.Close
End Sub
...
Рейтинг: 0 / 0
Проблема: Cannot execute a select query
    #32089273
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Execute используется для запросов запросов на изменение (INSERT, UPDATE, DELETE, ...).
По поводу присвоения результата некоей переменной, то откройте на основе полученной инструкции SQL и присвойте:
dim rs as Dao.Recordset, minimum
......
set rs=CurrentDb.OpenRecordset(MinimumQuery)
Minimum=rs.fields(MinimumValue).value

Если запрос сохраненный, то можно и через DLookup:
Minimum=DLookup(MinimumValue,"Имя запроса")
...
Рейтинг: 0 / 0
Проблема: Cannot execute a select query
    #32089276
Фотография Vadim Kutuzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня ещё 1 вопрос возник:
Имеется запрос Test_QRY, который был создан в Access без VBA.
Теперь я хочу из этого запроса сделать ещё один запрос:

Код: plaintext
1.
2.
3.
sqlstr =  "SELECT * FROM Test_QRY;" 
Set rst = dbs.OpenRecordset(sqlstr)
MIN = rst.Fields( "Value12" )


но VBA ругается: Too few parameters. Expected 3.
Каким образом я могу показать последнему запросу, что данные надо брать из Test_QRY, потому что как я понял, он не понимает, что такое Test_QRY. Или я не прав? Тогда скажите, пожалуйста, чего он хотит...
...
Рейтинг: 0 / 0
Проблема: Cannot execute a select query
    #32089283
-=Alexey=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по поводу первого вопроса, иногда Access не любит *, попробуйте использовать эквивалентую конструкцию select all
что касается SELECT * FROM Test_QRY, мы не ясновидящие, какой текст Test_QRY
...
Рейтинг: 0 / 0
Проблема: Cannot execute a select query
    #32089284
Фотография Vadim Kutuzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчёт * - я пользовал и определённые таблицы, например. Не в этом дело, ИМХО.

А текст Test_QRY такой:

Код: plaintext
1.
2.
3.
4.
SELECT [oLongHistValuesH1].[HistoryIndex], [oLongHistValuesH1].[Tag], [oLongHistValuesH1].[CalcType], [QRY_IndexH1].[TimeSet], [oLongHistValuesH1].[Value0], [oLongHistValuesH1].[ErrFlag0], [oLongHistValuesH1].[Value1], [oLongHistValuesH1].[ErrFlag1], [oLongHistValuesH1].[Value2], [oLongHistValuesH1].[ErrFlag2], [oLongHistValuesH1].[Value3], [oLongHistValuesH1].[ErrFlag3], [oLongHistValuesH1].[Value4], [oLongHistValuesH1].[ErrFlag4], [oLongHistValuesH1].[Value5], [oLongHistValuesH1].[ErrFlag5], [oLongHistValuesH1].[Value6], [oLongHistValuesH1].[ErrFlag6], [oLongHistValuesH1].[Value7], [oLongHistValuesH1].[ErrFlag7], [oLongHistValuesH1].[Value8], [oLongHistValuesH1].[ErrFlag8], [oLongHistValuesH1].[Value9], [oLongHistValuesH1].[ErrFlag9], [oLongHistValuesH1].[Value10], [oLongHistValuesH1].[ErrFlag10], [oLongHistValuesH1].[Value11], [oLongHistValuesH1].[ErrFlag11], [oLongHistValuesH1].[Value12], [oLongHistValuesH1].[ErrFlag12], [oLongHistValuesH1].[Value13], [oLongHistValuesH1].[ErrFlag13], [oLongHistValuesH1].[Value14], [oLongHistValuesH1].[ErrFlag14], [oLongHistValuesH1].[Value15], [oLongHistValuesH1].[ErrFlag15], [oLongHistValuesH1].[Value16], [oLongHistValuesH1].[ErrFlag16], [oLongHistValuesH1].[Value17], [oLongHistValuesH1].[ErrFlag17], [oLongHistValuesH1].[Value18], [oLongHistValuesH1].[ErrFlag18], [oLongHistValuesH1].[Value19], [oLongHistValuesH1].[ErrFlag19], [oLongHistValuesH1].[Value20], [oLongHistValuesH1].[ErrFlag20], [oLongHistValuesH1].[Value21], [oLongHistValuesH1].[ErrFlag21], [oLongHistValuesH1].[Value22], [oLongHistValuesH1].[ErrFlag22], [oLongHistValuesH1].[Value23], [oLongHistValuesH1].[ErrFlag23]
FROM oLongHistValuesH1, QRY_IndexH1
WHERE ((([oLongHistValuesH1].[HistoryIndex])=[QRY_IndexH1].[TimeIndex]) And (([oLongHistValuesH1].[Tag])=[Forms]![PeaEkraan]![H1_List1]))
ORDER BY [QRY_IndexH1].[TimeSet];
...
Рейтинг: 0 / 0
Проблема: Cannot execute a select query
    #32089286
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нельзя в инструкции SQL рекордсета ссылаться на поля форм. Соберите строку SQL:
"...And (([oLongHistValuesH1].[Tag])=" & [Forms]![PeaEkraan]![H1_List1] & "))..."

А если поле Tag - строка, то:
"...And (([oLongHistValuesH1].[Tag])='" & [Forms]![PeaEkraan]![H1_List1] & "'))..."
...
Рейтинг: 0 / 0
Проблема: Cannot execute a select query
    #32089293
Фотография Vadim Kutuzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня 2 запроса: QRY_IndexH1 и Test_QRY построены в самом Access, там у меня не получается такое определение как было написано в последнем посте:
Код: plaintext
1.
 "SELECT ... And (([oLongHistValuesH1].[Tag])="  & [Forms]![PeaEkraan]![H1_List1] &  "))...;"  


Если же писать запросы в VBA через recordset, то я не знаю, как использовать один из них в другом :( Как использовать rst1 в rst2? Это вообще возможно?

Мне надо сделать один запрос, затем второй из первого, и потом из второго построить запрос или таблицу, но уже со своим дизайном. Как это лучше сделать?
...
Рейтинг: 0 / 0
Проблема: Cannot execute a select query
    #32089389
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так сделай запросы из VBA
Код: plaintext
CurrentDb.CreateQueryDef  "Name" ,  "SQLText" 
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблема: Cannot execute a select query
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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