|
|
|
Access2000+SQL2000 - умираю
|
|||
|---|---|---|---|
|
#18+
Уже отчаялся в борьбе с 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2002, 19:32:01 |
|
||
|
Access2000+SQL2000 - умираю
|
|||
|---|---|---|---|
|
#18+
А как ругается то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2002, 19:43:56 |
|
||
|
Access2000+SQL2000 - умираю
|
|||
|---|---|---|---|
|
#18+
Загляни в процедуру и поставь, если нету, в самом начале SET NOCOUNT ON ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2002, 20:03:44 |
|
||
|
Access2000+SQL2000 - умираю
|
|||
|---|---|---|---|
|
#18+
А на какие библиотеки у тебя ссылки выставлены? Может, имеет смысл сделать объявление Dim rst5 As ADODB. Recordset? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2002, 23:35:02 |
|
||
|
Access2000+SQL2000 - умираю
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2002, 09:21:30 |
|
||
|
Access2000+SQL2000 - умираю
|
|||
|---|---|---|---|
|
#18+
я когда-то делал так 1. Создаю запрос к серверу, в котором написано EXEC my_proc param1, param2 ... 2. Источник данных для формы - пустая строка 3. В коде меняю строку запроса, подставляя нужные параметры 4. Назначаю запрос источником данных для формы Все работало в Access 97 и 2000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2002, 09:42:08 |
|
||
|
Access2000+SQL2000 - умираю
|
|||
|---|---|---|---|
|
#18+
С заменой строки запроса, где меняю параметры у ХП, и дальнейшей подменой источника формы у меня идея тоже была, я добился - работает! Но всё же такой вариант работает через ODBC, а это потери в производительности, ведь так? Всё же хотелось бы работать в классическом варианте с ADO, где можно задавть тип рекордсета, строку подключения и т.д. и т.п. КАК БЫТЬ ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2002, 10:14:14 |
|
||
|
Access2000+SQL2000 - умираю
|
|||
|---|---|---|---|
|
#18+
Если мне память не изменяет - 2000 accesse по умолчанию работает с dao а не с адо - может быть собака зарыта тут - не совпадают типы рекордсетов - один dao второй ado (форма - dao) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2002, 10:26:07 |
|
||
|
Access2000+SQL2000 - умираю
|
|||
|---|---|---|---|
|
#18+
По-моему это поддерживается в Офисе XP ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2002, 10:27:21 |
|
||
|
Access2000+SQL2000 - умираю
|
|||
|---|---|---|---|
|
#18+
А вот по поводу того, что разные типы рекордсетов в ACCESS2000 тут у меня тоже подозрение....Счас попоробую лицензионный Office XP поставить, посмотрю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2002, 10:41:19 |
|
||
|
Access2000+SQL2000 - умираю
|
|||
|---|---|---|---|
|
#18+
Поставил XP - тоже ругается. Может, какие свойства рекордсета формы надо выставить??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2002, 11:14:20 |
|
||
|
Access2000+SQL2000 - умираю
|
|||
|---|---|---|---|
|
#18+
Попробуй у свойства соединения поставить CursorLocation =adUseClient У меня с назначением рекордсета из ХП форме проблем не возникало... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2002, 12:17:19 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32051787&tid=1820191]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 215ms |
| total: | 373ms |

| 0 / 0 |
