数据库浏览的问题,郁闷,在线等!

yuds 2004-09-07 10:36:43
我有这样一段程序:就是要浏一个表中的全部记录:
Private Sub Command操作员_后一个_Click()
If Not Adodc客房管理.Recordset.AbsolutePage = adPosEOF Then
Adodc客房管理.Recordset.MoveNext
End If

End Sub

Private Sub Command操作员_前一个_Click()
If Not Adodc客房管理.Recordset.AbsolutePosition = adPosBOF Then
Adodc客房管理.Recordset.MovePrevious

End If

End Sub
问题是,前移到第一个记录后还能前移一次,出现一个空记录;后移也有同样的问题,问题出在哪里啊,怎么解决?多谢了!
...全文
125 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
longshouwo 2005-02-28
  • 打赏
  • 举报
回复
rivate Sub Command操作员_后一个_Click()
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"说得非常好,同意,代码错了,重新发一次!!
longshouwo 2005-02-28
  • 打赏
  • 举报
回复
Private Sub Command操作员_后一个_Click()
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"说得非常好,同意
harryho 2004-09-12
  • 打赏
  • 举报
回复
if Adodc客房管理.Recordset.eof=true then
exit sub
end if
RUKYO 2004-09-10
  • 打赏
  • 举报
回复
前移到第一个记录后还能前移一次,出现一个空记录;后移也有同样的问题
=========
楼主我想你误会了Eof和Bof了,EOF指示当前记录位置位于Recordset对象的最后一个记录之后;BOF指示当前记录位置位于Recordset对象的第一个记录之前。即使到最后一条记录Eof仍为False,只有记录指针继续移到最后一条记录之前才为True
汪譢晾 2004-09-09
  • 打赏
  • 举报
回复
同意 sujiang(心愿)
yuds 2004-09-09
  • 打赏
  • 举报
回复
这样做都是不行的,都会出现空记录!
vbman2003 2004-09-07
  • 打赏
  • 举报
回复
很久没用过Adodc控件了,不能确定,你试试:
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


yuds 2004-09-07
  • 打赏
  • 举报
回复
我那样做虽然解决了,但是用一种非正常的办法,BOF和EOF的本意不应该是这样的吧?请高手指点!
yuds 2004-09-07
  • 打赏
  • 举报
回复
请具体说一下,怎么用向导?能帮我做一个吗?多谢,多谢!!!
zcm123 2004-09-07
  • 打赏
  • 举报
回复
用向导做一个例子然后看代码就行了,代码绝对成熟.
yuds 2004-09-07
  • 打赏
  • 举报
回复
我的问题这样做就解决了:
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 If

End Sub

Private 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 If

End Sub

bladeinside 2004-09-07
  • 打赏
  • 举报
回复
Private Sub Command操作员_后一个_Click()
If Not Adodc客房管理.Recordset.EOF Then
Adodc客房管理.Recordset.MoveNext
End If

End Sub

Private Sub Command操作员_前一个_Click()
If Not Adodc客房管理.Recordset.BOF Then
Adodc客房管理.Recordset.MovePrevious

End If

End Sub
yuds 2004-09-07
  • 打赏
  • 举报
回复
不懂啊,是什么意思啊,这是不能运行的!
starsoulxp 2004-09-07
  • 打赏
  • 举报
回复

If Not adoLogin.Recordset.BOF Then
adoLogin.Recordset.MovePrevious
End If


If Not adoLogin.Recordset.EOF Then
adoLogin.Recordset.MoveNext
End If
sujiang 2004-09-07
  • 打赏
  • 举报
回复
Private Sub Command操作员_后一个_Click()
If Not Adodc客房管理.Recordset.EOF Then
Adodc客房管理.Recordset.MoveNext
Else
Adodc客房管理.Recordset.MoveLast
End If
End Sub

Private Sub Command操作员_前一个_Click()
If Not Adodc客房管理.Recordset.BOF Then
Adodc客房管理.Recordset.MovePrevious
Else
Adodc客房管理.Recordset.MoveFirst
End If
End Sub

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧