我有这样一段程序:就是要浏一个表中的全部记录:
Private Sub Command操作员_后一个_Click()
If Not Adodc客房管理.Recordset.AbsolutePage = adPosEOF Then
Adodc客房管理.Recordset.MoveNext
End IfEnd SubPrivate Sub Command操作员_前一个_Click()
If Not Adodc客房管理.Recordset.AbsolutePosition = adPosBOF Then
Adodc客房管理.Recordset.MovePrevious
End IfEnd Sub
问题是,前移到第一个记录后还能前移一次,出现一个空记录;后移也有同样的问题,问题出在哪里啊,怎么解决?多谢了!
Private Sub Command操作员_后一个_Click()
If Not Adodc客房管理.Recordset.AbsolutePage = adPosEOF Then
Adodc客房管理.Recordset.MoveNext
End IfEnd SubPrivate Sub Command操作员_前一个_Click()
If Not Adodc客房管理.Recordset.AbsolutePosition = adPosBOF Then
Adodc客房管理.Recordset.MovePrevious
End IfEnd Sub
问题是,前移到第一个记录后还能前移一次,出现一个空记录;后移也有同样的问题,问题出在哪里啊,怎么解决?多谢了!
If Not adoLogin.Recordset.BOF Then
adoLogin.Recordset.MovePrevious
End If
If Not adoLogin.Recordset.EOF Then
adoLogin.Recordset.MoveNext
End If
If Not Adodc客房管理.Recordset.EOF Then
Adodc客房管理.Recordset.MoveNext
End IfEnd SubPrivate Sub Command操作员_前一个_Click()
If Not Adodc客房管理.Recordset.BOF Then
Adodc客房管理.Recordset.MovePrevious
End IfEnd Sub
Private Sub Command操作员_后一个_Click()
If Not Adodc客房管理.Recordset.AbsolutePage = adPosEOF Then
Adodc客房管理.Recordset.MoveNext
If Adodc客房管理.Recordset.AbsolutePage = adPosEOF Then
Adodc客房管理.Recordset.MovePrevious
End If
End IfEnd SubPrivate Sub Command操作员_前一个_Click()
If Not Adodc客房管理.Recordset.AbsolutePosition = adPosBOF Then
Adodc客房管理.Recordset.MovePrevious
If Adodc客房管理.Recordset.AbsolutePosition = adPosBOF Then
Adodc客房管理.Recordset.MoveNext
End If End IfEnd Sub
If Not Adodc客房管理.Recordset.AbsolutePosition = adPosBOF Then
Adodc客房管理.Recordset.MovePrevious
Else
Adodc客房管理.Recordset.MoveNext
End If或者:
If Adodc客房管理.Recordset.Eof = False Then
Adodc客房管理.Recordset.MovePrevious
Else
Adodc客房管理.Recordset.MoveNext
End If
If Not Adodc客房管理.Recordset.EOF Then
Adodc客房管理.Recordset.MoveNext
Else
Adodc客房管理.Recordset.MoveLast
End If
End SubPrivate Sub Command操作员_前一个_Click()
If Not Adodc客房管理.Recordset.BOF Then
Adodc客房管理.Recordset.MovePrevious
Else
Adodc客房管理.Recordset.MoveFirst
End If
End Sub
=========
楼主我想你误会了Eof和Bof了,EOF指示当前记录位置位于Recordset对象的最后一个记录之后;BOF指示当前记录位置位于Recordset对象的第一个记录之前。即使到最后一条记录Eof仍为False,只有记录指针继续移到最后一条记录之前才为True
exit sub
end if
Adodc1.Recordset.MoveNext
Form1.Command操作员_后一个.Enabled = True
Form1.Command操作员_最后一个.Enabled = True
pd
If Adodc1.Recordset.EOF Then
Form1.Command操作员_第一个.Enabled = False
Form1.Command操作员_前一个.Enabled = False
Form1.Command操作员_后一个.Enabled = True
Form1.Command操作员_最后一个.Enabled = True
Form1.Adodc1.Recordset.MovePrevious
End If
End Sub"前移到第一个记录后还能前移一次,出现一个空记录;后移也有同样的问题
=========
楼主我想你误会了Eof和Bof了,EOF指示当前记录位置位于Recordset对象的最后一个记录之后;BOF指示当前记录位置位于Recordset对象的第一个记录之前。即使到最后一条记录Eof仍为False,只有记录指针继续移到最后一条记录之前才为True"说得非常好,同意
Adodc1.Recordset.MoveNext
Form1.Command操作员_第一个.Enabled = True
Form1.Command操作员_前一个.Enabled = True
pd
If Adodc1.Recordset.EOF Then
Form1.Command操作员_第一个.Enabled = true
Form1.Command操作员_前一个.Enabled = true
Form1.Command操作员_后一个.Enabled = false
Form1.Command操作员_最后一个.Enabled = false
Form1.Adodc1.Recordset.MovePrevious
End If
End Sub"前移到第一个记录后还能前移一次,出现一个空记录;后移也有同样的问题
=========
楼主我想你误会了Eof和Bof了,EOF指示当前记录位置位于Recordset对象的最后一个记录之后;BOF指示当前记录位置位于Recordset对象的第一个记录之前。即使到最后一条记录Eof仍为False,只有记录指针继续移到最后一条记录之前才为True"说得非常好,同意,代码错了,重新发一次!!