![]() |
|
Модераторы: Akina |
![]()
|
|
| Ganz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 26.12.2003 Репутация: нет Всего: нет |
Файл mdb подключен с помощью компонента data, сделал кнопку "пролистывания" записей:
Data1.Recordset.MoveNext Text1.Text = Data1.Recordset.Fields(0) Text2.Text = Data1.Recordset.Fields(1) Когда записи кончаются, вылетает сообщение "Run time error 3021. No current record" У компонента Data свойство EOFAction установлено в "0 - move last" Однако ошибка упорно вылетает. Я попытался программно определить последюю запись: if Data1.RecordSet.EOF = false then Data1.RecordSet.MoveNext end if end sub Не помогло, ошибка все равно вылетает. Посоветуйте, что делать. |
|||
|
||||
| cardinal |
|
||||||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 19 Всего: 99 |
Если я не ошибаюсь, то загвоздка именно в этом. Ты передвигаешься до последней записи, а хочешь запись после нее, вот оно и не получается. Кроме того ты можешь посмотреть, что debuger показывает, на какой строке ошибка и если она происходит в этой строке
то все так как я написал. Чтобы добиться в этом случае правильного результата надо сделать что-то типа:
Вот такое могу посоветовать. -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
||||||
|
|||||||
| shilnik |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 377 Регистрация: 22.12.2003 Репутация: нет Всего: 1 |
Видимо когда ты програмно делаешь MoveNext значение свойства EOFAction не учитываются. Ессесно
Data1.Recordset.MoveNext Text1.Text = Data1.Recordset.Fields(0) Ошибка здесь т.к. EOF=True Text2.Text = Data1.Recordset.Fields(1) Сделай так: If (Data1.Recordset.PercentPosition * Data1.Recordset.RecordCount / 100) + 1 < Data1.Recordset.RecordCount Then Data1.Recordset.MoveNext End If Text1.Text = Data1.Recordset.Fields(0) Text2.Text = Data1.Recordset.Fields(1) ЗЫ Почемуто Data1.Recordset.AbsolutePosition выдал ошибку, но Data1.Recordset.AbsolutePosition =(Data1.Recordset.PercentPosition * Data1.Recordset.RecordCount / 100) + 1 |
|||
|
||||
| Black_Star |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 192 Регистрация: 9.9.2003 Где: Minsk Репутация: 4 Всего: 4 |
Можно ишо так:
|
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |