|
Платные хостинги
Раскрутка сайта
Книги по программированию
Ошибка EOF
- Файл 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.MoveNextend ifend subНе помогло, ошибка все равно вылетает.Посоветуйте, что делать.
- Код Data1.Recordset.MoveNext ' переходим к след. записиText1.Text = Data1.Recordset.Fields(0) ' вот онаText2.Text = Data1.Recordset.Fields(1) ' а вот запись след. за ней!highlightSyntax('vbEwNGQ=','vb');Если я не ошибаюсь, то загвоздка именно в этом. Ты передвигаешься до последней записи, а хочешь запись после нее, вот оно и не получается. Кроме того ты можешь посмотреть, что debuger показывает, на какой строке ошибка и если она происходит в этой строкеКод Text2.Text = Data1.Recordset.Fields(1) ' а вот запись след. за ней!highlightSyntax('vbGQ5MmRj','vb');то все так как я написал.Чтобы добиться в этом случае правильного результата надо сделать что-то типа:Код if индекс текущий записи < кол-во записей - 2 then movenextend ifhighlightSyntax('vbODE0Zjk2','vb');Вот такое могу посоветовать.
- Видимо когда ты програмно делаешь MoveNext значение свойства EOFAction не учитываются. Ессесно Data1.Recordset.MoveNextText1.Text = Data1.Recordset.Fields(0) Ошибка здесь т.к. EOF=TrueText2.Text = Data1.Recordset.Fields(1)Сделай так:If (Data1.Recordset.PercentPosition * Data1.Recordset.RecordCount / 100) + 1 < Data1.Recordset.RecordCount Then Data1.Recordset.MoveNextEnd IfText1.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
- Можно ишо так:Код Max=Data1.Recordset.RecordCountData1.Recordset.MoveFirstFor i=1 to Max....Data1.RecordSet.MoveNextNext ihighlightSyntax('vbYxYzc5','vb');
Интернет казино
Онлайн игры
Увеличение члена
Купить DVD
|