Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку / 22 сообщений из 22, страница 1 из 1
14.04.2004, 13:58
    #32481034
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
Так открываю рекордсет:

dim rs as new adodb.recordset
rs.open "select * from MyTable", currentproject.connection, adOpenDynamic, adLockOptimistic

а любая из этих строк
rs.find "MyField>='a'" ' Нужна вообще-то именно эта
rs.find "MyField like 'a%'"

дает ошибку 3265 (что-то вроде "не найден элемент в семействе") на половине компьютеров.

Что не так делаю? И почему иногда работает?
...
Рейтинг: 0 / 0
14.04.2004, 14:04
    #32481050
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
Из хелпа

Код: plaintext
1.
2.
Note
An error will occur if a current row position is not set before calling Find.
Any method that sets row position, such as MoveFirst, should be called before calling Find
...
Рейтинг: 0 / 0
14.04.2004, 14:08
    #32481064
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
Да, упустил.
После rs.open ...
написано

on error resume next
rs.movelast
rs.movefirst
on error goto 0
...
Рейтинг: 0 / 0
14.04.2004, 14:09
    #32481067
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
Причем на одних к-х всегда работает, а на других всегда не работает.
...
Рейтинг: 0 / 0
14.04.2004, 14:11
    #32481073
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
А че тут думать.
На том компьютере, где не работает поставь точку останова после открытия рекордсета и посмотри список полей.
...
Рейтинг: 0 / 0
14.04.2004, 14:11
    #32481075
ищ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
т1, стр.232
строку с апострофами надо заключить в #
но если в строке есть символ #, то пиши аут.
...
Рейтинг: 0 / 0
14.04.2004, 14:13
    #32481078
ищ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
а может дело в ADO и DAO?
смотря что у кого подключено
...
Рейтинг: 0 / 0
14.04.2004, 14:18
    #32481095
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
2incold
Слишком просто :))
Поле в списке полей есть.

2ищ
Подключено только ADO.
Везде где объявляются рекодрсеты, пишу
Dim rs as ADODB.recordset

Кавычек и апострофов в искомой строке нет.
...
Рейтинг: 0 / 0
14.04.2004, 14:23
    #32481111
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
авторСлишком просто :))

Так это и есть простая отладка.

1. Нужно найти строку на которой происходит ошибка
2. В строке разделить части которые могут вызывать ошибку (например сделать условие 1=1 - это будет проверка ошибка в условии или в методе поиска)
3. Устранить ошибку.

Все действительно просто.
...
Рейтинг: 0 / 0
14.04.2004, 14:23
    #32481112
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
2Geo

На эту фигню точно не попадаешь?
Код: plaintext
1.
2.
3.
Asterisks can be used only at the end of a criteria string, or together at both the 
beginning and end of a criteria string, as shown above. You cannot use the 
asterisk as a leading wildcard ('*str'), or embedded wildcard ('s*r'). This will cause 
an error.
...
Рейтинг: 0 / 0
14.04.2004, 14:26
    #32481118
Хам трамвайный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
ADO везде одинаковое?
2.1 или 2.5 или 2.7 или 2.8?
...
Рейтинг: 0 / 0
14.04.2004, 14:29
    #32481127
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
2 incold
Я имел в виду, что это я давным давно попробовал

2 Сенин Виктор
Точно не попадаю

Собственно это из мдб никак не доперевожу окончательно. В справочниках там у меня работал поиск по таблице при наборе первых букв (а-ля Alt-буква в нортоне). А в адп никак не могу добиться, чтоб это везде работало. На первой же букве ошибка.
rs.find "MyField>='a'"
безо всяких звездочек, процентов и кавычек.
...
Рейтинг: 0 / 0
14.04.2004, 14:29
    #32481128
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
а ПРАВА на доступ к БД везде одинаковы?
если нет то и не правда, что поле в списке полей всегда есть.

Код: plaintext
 from MyTable
--> from dbo.MyTable
...
Рейтинг: 0 / 0
14.04.2004, 14:29
    #32481129
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
2 Хам трамвайный
Не везде, скорее всего. Возможно именно тут ошибка?
...
Рейтинг: 0 / 0
14.04.2004, 14:30
    #32481132
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
2 Виктоша
Пока не разбирался с правами, и всем пользователям выставил все на максимум (все администраторы всего и т.д.)
...
Рейтинг: 0 / 0
14.04.2004, 14:40
    #32481152
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
Гм...
А как ADO привести к одной версии? (никогда не задавался этим вопросом)
...
Рейтинг: 0 / 0
14.04.2004, 14:42
    #32481164
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
А как ADO привести к одной версии? (никогда не задавался этим вопросом)

MDAC 2.8
...
Рейтинг: 0 / 0
14.04.2004, 14:46
    #32481169
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
...
Рейтинг: 0 / 0
14.04.2004, 14:46
    #32481170
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
5 c копейками мегабайт грузилось ок. 50 сек. Офуеть

:))
...
Рейтинг: 0 / 0
14.04.2004, 15:19
    #32481249
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
2 ыщ

авторстроку с апострофами надо заключить в #



ADP у меня в серверном фильтре проблем с символами # нет

ProductName like '%#d %' - все ок

вообще если какой - нить символ нельзя всегда можно его заменить
на CHR(N) / CHAR(N) mdb / adp

2 Geo

перед поиском лучше не ходить по записям на последнюю - первую
а именно проверять фитчстатус в циклк с doevents - я натыкался что movefirst movelast иногда не дают полной гарантии загрузки всех записей
...
Рейтинг: 0 / 0
14.04.2004, 15:22
    #32481254
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
2АлексейК
Приму к сведению.
Но думаю, что дело не в том, успел или не успел он получить все записи.
Надеюсь, что дело все-таки в версии ADO. На днях проверю.
...
Рейтинг: 0 / 0
16.04.2004, 18:36
    #32484982
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку
Поставил мдак, все заработало.
Большое спасибо :)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADODB.Recordset.Find почему-то на некоторых компьютерах дает ошибку / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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