powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Не прав Гетц или я
25 сообщений из 27, страница 1 из 2
Не прав Гетц или я
    #32653038
guest1187
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь выполнить код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Dim rst As ADODB.Recordset
    Set rst = New ADODB.Recordset
    rst.Open "Mail", CurrentProject.Connection, adOpenKeyset, adLockReadOnly, adCmdStoredProc
    While Not rst.EOF
        ...
        rst.MoveNext
    Wend
    rst.Close

На строчке "While..." вываливается сообщение, гласящее, что объект rst закрыт.
В чем проблема?
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653058
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня твой пример работает
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653067
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что скрывает под собой "Mail "
XP SP1 - всё работает как с adCmdStoredProc,так и без него
Код: plaintext
1.
2.
3.
4.
Dim MyRst As ADODB.Recordset
Set MyRst = New ADODB.Recordset
MyRst.Open "ProcTCorpAll", CurrentProject.Connection, adOpenKeyset, adLockReadOnly, adCmdStoredProc
Debug.Print MyRst.Fields( 1 )
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653071
guest1187
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А с чем это тогда может быть связано?
Права на запуск процедуры есть.
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653079
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest1187А с чем это тогда может быть связано?
Права на запуск процедуры есть.
а execute пробовал запускать + error смотреть ?
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653084
guest1187
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mail - хранимая процедура, на запуск которой у меня есть права
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653110
guest1187
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По execute ошибок не обнаружено.
Причем если запускать ХП через открытие рекордсета, то сама процедура выполняется, но рекордсет не открывается.
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653136
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest1187По execute ошибок не обнаружено.
Причем если запускать ХП через открытие рекордсета, то сама процедура выполняется, но рекордсет не открывается.
а так ?
Код: plaintext
1.
2.
3.
4.
5.
Dim MyRst As ADODB.Recordset
 'Set MyRst = New ADODB.Recordset 
Set MyRst = CurrentProject.Connection.Execute("ProcTCorpAll")
Debug.Print Err.Number; Err.Description
Debug.Print MyRst.Fields( 1 )
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653142
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВЫКЛАДЫВАЙ КОД ХП!!!
И показывай таблы(структуру) для ХП.
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653150
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДА ещё давай полный вариант кода.
Надо взглянуть.
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653154
guest1187
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вываливается та же самая ошибка.
ИМХО это в любом случае не выход: что делать если надо будет отправлять параметры в ХП.
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653163
guest1187
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 proga

Сама процедура выполняется (возвращаются записи в QueryAnalyzer)
Кроме того, если бы записи не возвращались, то по-моему рекордсет был бы пустой, но не закрытый
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653196
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
дорогоуша, так у тебя еще и параметры передаются?
естестно, работать не будет.
надо еще и параметры передать
Гетца надоть правильно читать
вот примерчик

Dim rst As ADODB.Recordset
Dim cmd As ADODB.Command
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = CurrentProject.Connection
cmd.CommandText = "[Запрос3]"
cmd.Parameters.Append cmd.CreateParameter("[Клиент1]", adInteger, adParamInput, , 2)
Set rst = cmd.Execute(, 1)
If Not (rst.EOF And rst.BOF) Then
Debug.Print rst![Клиент]
End If
rst.Close
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653203
guest1187
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ищ

Процедура Mail не требует параметров
Про параметры я упомянул только потому, что был предложен способ возврата рекордсета из ХП через currentproject.connection.execute, который как известно используется если ХП не нужны параметры, а хотелось бы получить решение проблемы для любых ХП, как с параметрами так и без.
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653219
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ищ: а такое можно юзать или опять выкручиваться
Код: plaintext
1.
2.
3.
4.
Set cnn = New ADODB.Connection
Set cnn = CurrentProject.Connection
Set rst = New ADODB.Recordset
rst.Open "select * from dbo.Fact_pay_month_now where" & usl, cnn, adOpenKeyset, adLockOptimistic, adCmdText
dbo.Fact_pay_month_now - представление
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653221
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ADP
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653292
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
proga
брось ты эти представления.
исп. ХП и функции.
да и зачем рекордсет дался?
без него все работает прекрасно.
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653299
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"а хотелось бы получить решение проблемы для любых ХП, как с параметрами так и без."

а автомобиль ты хочешь молоком заправлять?
ну-ну.
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653302
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если нигде дальше не будешь использовать cnn - зачем её объявлять?
Можно так делать в адп - но если с параметрами ХП - то лучше всего через адодб комманд.
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653317
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest1187Вываливается та же самая ошибка.
ИМХО это в любом случае не выход: что делать если надо будет отправлять параметры в ХП.

а debug.print что даёт ?
+ при execute параметры через ,,, передаются - за приведение данных отвечаешь сам!
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653350
guest1187
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
debug.print таки и выдает "Ошибка 3704: Operation is not allowed when the object is closed."

а параметров в процедуре нет.
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653395
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest1187debug.print таки и выдает "Ошибка 3704: Operation is not allowed when the object is closed."

а параметров в процедуре нет.

а с другой XP пробовал + нет-ли чуда в XP например не забыл-ли ты
Код: plaintext
1.
SET NOCOUNT ON
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653405
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй написать
rst.open "SET NOCOUNT ON EXECUTE Mail", ...
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653415
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а в самой проц после АС SET NOCOUNT ON есть?
...
Рейтинг: 0 / 0
Не прав Гетц или я
    #32653429
guest1187
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Признаюсь, старик Гетц прав.
Не прав был я.
Запамятовал вставить set nocount on

Всем участникам спасибо.
Извините, что отнял время.
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Не прав Гетц или я
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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