powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как обратиться по имени к запросу с параметрами в базе Access c помощью ADO
7 сообщений из 7, страница 1 из 1
Как обратиться по имени к запросу с параметрами в базе Access c помощью ADO
    #39389226
Дима Г
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. Определите, пожалуйста, в чем ошибка.

Есть база данных accdb, в ней есть запрос на выборку с параметрами. Хочу открыть этот запрос с помощью ADO. Обращаюсь к запросу по его имени.
Код: vbnet
1.
2.
3.
4.
5.
Dim q = New ADODB.Command
q.ActiveConnection = cnn
q.CommandText = "Имя Запроса"
q.CommandType = ADODB.CommandTypeEnum.adCmdStoredProc
q.Parameters.Append(q.CreateParameter("Имя параметра", adVarChar, adParamInput))

В последней строке возникает ошибка: "Неправильно определен объект Parameter. Предоставлены несогласованные или неполные сведения". Параметр запроса текстовый.
...
Рейтинг: 0 / 0
Как обратиться по имени к запросу с параметрами в базе Access c помощью ADO
    #39389235
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима Г
Код: vbnet
1.
q.Parameters.Append(q.CreateParameter("Имя параметра", adVarChar, adParamInput))

ИМХО, скобачки лишние или используй оператор Call
Код: vbnet
1.
Call q.Parameters.Append(...)
...
Рейтинг: 0 / 0
Как обратиться по имени к запросу с параметрами в базе Access c помощью ADO
    #39389236
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ можно добавить размер параметра
...
Рейтинг: 0 / 0
Как обратиться по имени к запросу с параметрами в базе Access c помощью ADO
    #39389284
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот так пробовали? Только это запрос на добавление записей в строку.
Код: vbnet
1.
2.
        strParameters = " " & intCurYear & ", " & 13
        CurrentProject.Connection.Execute "qry_TempXa_add" & strParameters
...
Рейтинг: 0 / 0
Как обратиться по имени к запросу с параметрами в базе Access c помощью ADO
    #39389698
а так?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Sub test_q_1()
 Dim q As New ADODB.Command
 q.ActiveConnection = CurrentProject.AccessConnection
 q.CommandType = adCmdStoredProc
 q.CommandText = "q2 'Ноутбуки'"
 Debug.Print q.Execute().Fields(2)
 Set q = Nothing
End Sub

Sub test_q_2()
 Dim q As New ADODB.Command
 q.ActiveConnection = CurrentProject.AccessConnection
 q.CommandType = adCmdText
 q.CommandText = CurrentDb.QueryDefs("q2").SQL
 q.Parameters(0) = "Ноутбуки"
 Debug.Print q.Execute().Fields(2)
 Set q = Nothing
End Sub
...
Рейтинг: 0 / 0
Как обратиться по имени к запросу с параметрами в базе Access c помощью ADO
    #39389929
Дима Г
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург , но я использую VB .NET, там скобки обязательны. При создании параметра действительно требовалось указать размер поля.
Guest , ваш вариант подошел, создание параметра вообще не потребовалось, записал так
Код: vbnet
1.
2.
3.
4.
5.
6.
q.CommandType = ADODB.CommandTypeEnum.adCmdStoredProc
q.CommandText = "[Имя Запроса] 'Значение параметра'"

'Далее требовалось открыть на основе запроса набор записей
Dim r As New ADODB.Recordset
r.Open(Source:=q, CursorType:=ADODB.CursorTypeEnum.adOpenForwardOnly, LockType:=ADODB.LockTypeEnum.adLockReadOnly)

Спасибо , всем кто помог разобраться.
...
Рейтинг: 0 / 0
Как обратиться по имени к запросу с параметрами в базе Access c помощью ADO
    #39389979
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима Г Панург , но я использую VB .NET, там скобки обязательны. Предупреждать надо! ©
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как обратиться по имени к запросу с параметрами в базе Access c помощью ADO
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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