powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Access2000+SQL2000 - умираю
13 сообщений из 13, страница 1 из 1
Access2000+SQL2000 - умираю
    #32051785
woka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уже отчаялся в борьбе с Access2000+SQL2000 (извините, что не в тему форума)

Работаю с базой MDB в Access2000, источником формы хочу назначить ХП MSSQL, а когда пишу
Set Me.Recordset = rst5 , то Акцесс ругается, если эту строку комментарю, то всё работает! А мне очень надо, чтобы источником формы была ХП с параметрами. В чёт тут грабли - уже 18 часов убил, не могу понять, и в форумах по Акцесс говорят, что вроде должно работать. Что за невезение.....


Private Sub Form_Open(Cancel As Integer)

Dim rst5 As Recordset
Dim cmd As ADODB.Command, prm As ADODB.Parameter
Dim cnn As ADODB.Connection

Set cnn = New ADODB.Connection
With cnn
.Provider = "SQLOLEDB"
.Properties("Data Source") = "410INFPROGNS"
.Properties("Initial Catalog") = "m_re"
.Properties("Integrated Security") = "SSPI"
.Open
End With

Set cmd = New ADODB.Command
cmd.ActiveConnection = cnn
cmd.CommandText = "p_avtomodel_get"
cmd.CommandType = adCmdStoredProc
Set prm = cmd.CreateParameter("id_marka", adInteger, adParamInput, , 1)
cmd.Parameters.Append prm
Set prm = cmd.CreateParameter("id_atype", adInteger, adParamInput, , 2)
cmd.Parameters.Append prm

Set rst5 = cmd.Execute()
Set Me.Recordset = rst5 ' ======== Тут ругается!!!

With rst5
If Not .EOF Then
Do While Not .EOF
MsgBox .Fields(1)
.MoveNext
Loop
Else
MsgBox "No records"
End If

.Close
End With

Set rst5 = Nothing
Set cmd = Nothing
cnn.Close
Set cnn = Nothing

End Sub
...
Рейтинг: 0 / 0
Access2000+SQL2000 - умираю
    #32051786
Andrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как ругается то?
...
Рейтинг: 0 / 0
Access2000+SQL2000 - умираю
    #32051787
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Загляни в процедуру и поставь, если нету, в самом начале
SET NOCOUNT ON
...
Рейтинг: 0 / 0
Access2000+SQL2000 - умираю
    #32051801
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А на какие библиотеки у тебя ссылки выставлены? Может, имеет смысл сделать объявление Dim rst5 As ADODB. Recordset?
...
Рейтинг: 0 / 0
Access2000+SQL2000 - умираю
    #32051826
woka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SET NOCOUNT ON выставлено

пробовал объявить и
Dim rst5 As ADODB.Recordset
и просто
Dim rst5 As Recordset

ссылки на библиотеки стоят и на ADO2.1 - 2.7(разные пробовал) и на DAO3.6 (и так и сяк комбинировал)

А ругается так, что Указанный объект не может являться значением свойства "Набор записей" (Recordset)

возвращаемый rst5 - проверял, это ADO Recordset, работаю в Access2000 (SP2) с базами mdb
...
Рейтинг: 0 / 0
Access2000+SQL2000 - умираю
    #32051833
av_2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я когда-то делал так

1. Создаю запрос к серверу, в котором написано
EXEC my_proc param1, param2 ...
2. Источник данных для формы - пустая строка

3. В коде меняю строку запроса, подставляя нужные параметры

4. Назначаю запрос источником данных для формы

Все работало в Access 97 и 2000
...
Рейтинг: 0 / 0
Access2000+SQL2000 - умираю
    #32051840
woka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С заменой строки запроса, где меняю параметры у ХП, и дальнейшей подменой источника формы у меня идея тоже была, я добился - работает!

Но всё же такой вариант работает через ODBC, а это потери в производительности, ведь так?

Всё же хотелось бы работать в классическом варианте с ADO, где можно задавть тип рекордсета, строку подключения и т.д. и т.п. КАК БЫТЬ ???
...
Рейтинг: 0 / 0
Access2000+SQL2000 - умираю
    #32051843
dao
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если мне память не изменяет - 2000 accesse по умолчанию работает с dao а не с адо - может быть собака зарыта тут - не совпадают типы рекордсетов - один dao второй ado (форма - dao)
...
Рейтинг: 0 / 0
Access2000+SQL2000 - умираю
    #32051844
av_2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-моему это поддерживается в Офисе XP
...
Рейтинг: 0 / 0
Access2000+SQL2000 - умираю
    #32051850
woka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот по поводу того, что разные типы рекордсетов в ACCESS2000 тут у меня тоже подозрение....Счас попоробую лицензионный Office XP поставить, посмотрю
...
Рейтинг: 0 / 0
Access2000+SQL2000 - умираю
    #32051867
woka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поставил XP - тоже ругается. Может, какие свойства рекордсета формы надо выставить???
...
Рейтинг: 0 / 0
Access2000+SQL2000 - умираю
    #32051897
Фотография Ден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй у свойства соединения поставить
CursorLocation =adUseClient
У меня с назначением рекордсета из ХП форме проблем не возникало...
...
Рейтинг: 0 / 0
Access2000+SQL2000 - умираю
    #32051908
woka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СПААААААСИБО ДЕНУ!!!!

Низкий поклон, заработало!!!
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Access2000+SQL2000 - умираю
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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