下一条记录的问题
我写了个[下一条记录]的按钮,现在有个问题就是:当记录已经指向最后一条记录的时候,再按按钮,不会立刻弹出"已经是最后一条记录.",而是指针从datagrid里消失,,然后再按一下,才会弹出"已经是最后一条记录."的对话框,我想是EOF判断的问题,可是怎么解决呢??请大侠指教 谢谢
-------------------------------------------------------------
Private Sub Command1_Click()
If Data4.Recordset.EOF = True Then
Data4.Recordset.MoveLast
MsgBox "已经是最后一条记录.", vbOKOnly, "最后一条记录"
Else
Me.Data4.Recordset.MoveNext
End If
End Sub
-------------------------------------------------------------
问题点数:100、回复次数:7Top
1 楼microtry(米醋)回复于 2006-05-01 22:24:06 得分 0
楼主的要求:
1、记录指针离开datagrid,其实是要求记录集保持EOF状态
2、显示“最后一条记录”,其实是要把记录集从EOF重置回最后一条(MoveLast)
首先定义变量
dim m_lngX as long
Private Sub Command1_Click()
Data4.Recordset.MoveNext
if data4.recordset.EOF then
'第一次EOF时m_lngX=1,指针会自动离开表格
m_lngX=m_lngX+1
else
m_lngX=0
endif
if m_lngX>1 then
'第二次EOF时m_lngX=2
MsgBox "已经是最后一条记录.", vbOKOnly, "最后一条记录"
'按楼主的要求MoveLast后,指针回到表格最后
Me.Data4.RecordsetMoveLast
m_lngX=0
'还可以加上一句:datagrid.setfocus
endif
End Sub
Top
2 楼No001(Zidane5)(Beckham7)回复于 2006-05-01 22:47:45 得分 0
楼上的大侠,可能没有明白我得意思--->
我是说如果已经是最后一条记录的话,在按一下按钮,就会有对话框提示.
现在的情况是,如果记录集已经指向了最后一条记录,按一下按钮,指针消失(就是在datagrid里没有那个指向的箭头标志),然后再按一下按钮,才会有"已经到最后"的提示.
我是想如果已经是最后一条记录的话,再单击按钮,就会有提示Top
3 楼over_the_hill()回复于 2006-05-01 23:26:13 得分 0
Data4.Recordset.MoveLast的问题Top
4 楼microtry(米醋)回复于 2006-05-02 02:24:41 得分 0
明白了
记录指针到最后一行的时候
datagrid.bookmark=data4.recordset.recordcount
Private Sub Command1_Click()
If Data4.Recordset.EOF = True Then
'这句其实可有可无
Data4.Recordset.MoveLast
Else
if datagrid.bookmark=data4.recordset.recordcount then
MsgBox "已经是最后一条记录.", vbOKOnly, "最后一条记录"
else
Me.Data4.Recordset.MoveNext
endif
End If
End Sub
Top
5 楼fuxc(Michael(继续迷茫))回复于 2006-05-02 03:10:36 得分 100
换一下顺序就可以拉:
-------------------------------------------------------------
Private Sub Command1_Click()
Me.Data4.Recordset.MoveNext
If Data4.Recordset.EOF = True Then
Data4.Recordset.MoveLast
MsgBox "已经是最后一条记录.", vbOKOnly, "最后一条记录"
Else
End If
End Sub
-------------------------------------------------------------Top
6 楼fuxc(Michael(继续迷茫))回复于 2006-05-02 03:17:06 得分 0
之前
bof
1
2
3 <--指针
eof
-----------------
movenext 这时候 .eof = true
bof
1
2
3
eof <--指针
------------------
movelast把指针移到最后一条有效记录,否则下次访问recordset就出错了
bof
1
2
3 <--指针
eof
Top
7 楼No001(Zidane5)(Beckham7)回复于 2006-05-02 16:13:16 得分 0
谢谢 fuxc(Michael(继续迷茫)) ( ) 信誉:99Top




