Страница: 1 |
Страница: 1 |
Вопрос: Проблема с методом Rst.Seek
Добавлено: 03.02.05 16:18
Автор вопроса: Оллл
Беру стандартный пример из МСДН-а:
Sub Main()
Dim rst As ADODB.Recordset
Dim strID As String
Dim strPrompt As String
strPrompt = "Enter an EmployeeID (e.g., 0 to 9)"
Set rst = New ADODB.Recordset
rst.CursorLocation = adUseClient
rst.Open "Employers", _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Program Files\Microsoft Office\Office\Samples\northwind.mdb;" & _
"user id=admin;password=;", _
adOpenKeyset, adLockReadOnly, dCmdTableDirect
If rst.Supports(adIndex) And rst.Supports(adSeek) Then ..
И на этой строчке все заканчивается! Оба условия выдают False! Хотя в том же МСДНе написано, что этот провайдер поддерживает индексный поиск! Подскажите пожалуйста, где искать причину, почему не работает Seek?
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
Gloom
Вопросов: 0
Ответов: 36
Профиль | | #1
Добавлено: 04.02.05 14:18
В том же МСДНе написано:
"This method is supported only with server-side cursors. Seek is not supported when the Recordset object's CursorLocation property value is adUseClient."
Номер ответа: 2
Автор ответа:
Оллл
Вопросов: 41
Ответов: 43
Профиль | | #2
Добавлено: 04.02.05 15:08
Да я всяко пробовал - и adUseServer тоже. Никакой разницы!
Номер ответа: 3
Автор ответа:
Gloom
Вопросов: 0
Ответов: 36
Профиль | | #3
Добавлено: 04.02.05 16:15
Похоже ошибка в имени константы - dCmdTableDirect вместо adCmdTableDirect.
ЗЫ. Никогда не надо отключать режим Option Explicit
Номер ответа: 4
Автор ответа:
Оллл
Вопросов: 41
Ответов: 43
Профиль | | #4
Добавлено: 04.02.05 16:51
Блин, даже не представляю как это получилось - копировал фрагмент через буфер из работающей проги, а эта буква вывалилась...
Нет, с синтаксисом все номально. Может у меня ADO не полностью установлено:
1.Microsoft ActiveX Data Objects 2.7 Library
2.Microsoft ActiveX Data Objects Recordset 2.7 Library
3.Microsoft ADO Ext. 2.7 for DDL and Security
Может для поддержки индексов нужно установить еще какие-нибудь библиотеки?
Подскажите, плз, где грабли ...!!!!!