Здравствуйте, уважаемые эксперты!
Прошу помочь советом в затруднительной ситуации. Дело в том, что по необъяснимой причине создаваемый объект ADODB.Recordset ведет себя неадекватно. Загрузка данных из любого предлагаемого источника (таблицы, запроса) выполняется без сообщений об ошибках. При этом некоторое количество данных (2-5 записей) действительно "подтягиваются" в объект. Но и только. При обращении к первой "несуществующей" записи в объекте выдается исключение 3265 - "Элемент не обнаружен в данном семействе". В то же время, RecordCount отображает корректное количество записей в наборе (оно соответствует числу записей в источнике). Иллюстрация "загадки" на рис.1, под спойлером
| + |
/s28.postimg.org/dzrje6bl9/image.jpg">" target="_blank">http://s28.postimg.org/dzrje6bl9/image.jpg] |
Что пробовал делать для решения проблемы:
- Использовать модель DAO вместо ADO;
- Всевозможно варьировать параметры Recordset-а (CursorLocation, CursorType, LockType, etc.)
- Применять различные эквивалентные конструкции кода для формирования Recordset-а и загрузки данных в него
- Переименовывать русскоязычные названия таблиц в базе на английский
Ни один из этих танцев с бубном способов не помог - результат был один и тот же. Чувствую, что проблема не должна быть сложной, но не вижу далее, в какую сторону копать.
Некоторые пимечания и исходные:
- Access 2003 (11.5614.5606)
- WinXP SP3
- Подключенные объектные библиотеки на рис.2
| + |
/s22.postimg.org/qek2at0ld/image.jpg">" target="_blank">http://s22.postimg.org/qek2at0ld/image.jpg] |
- Пишу подобный код далеко не в первый раз, но с ситуацией столкнулся впервые.
С чем может быть связано такое поведение порграммы/базы?
Заранее спасибо за помощь!
http://www.sql.ru/forum/1101279/nepolnaya-zapis-dannyh-v-obekt-adodb-recordset