VB 关于recordset的一个很简单的问题

PrivateSubForm_Load()DimrsAsNewADODB.Recordsetrs.CursorLocation=adUseClientrs.Open"se... Private Sub Form_Load()
Dim rs As New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open "select * from sht图纸编号 ", Cnntzbh
With MSHFlexGrid1
.ColWidth(0) = 800
.ColWidth(1) = 2000
End With
Set MSHFlexGrid1.DataSource = rs
rs.MoveLast
End Sub

为什么 recordset.movelast 语句并没有让MSHFlexGrid1显示最后一行记录
问题出在哪?
展开
 我来答
tjrmgs
2016-07-22 · TA获得超过5765个赞
知道大有可为答主
回答量:2161
采纳率:94%
帮助的人:1037万
展开全部

其实recordset.movelast 语句已经将当前记录移到最后一行了,只是MSHFlexGrid1不带内置的当前行提示图标,如果需要的话需要人为编写代码添加提示图标。另外如果记录集数据行非常多,当前记录会落入可视范围之外,自然就看不到了,如果要看到当前行必须设置TopRow属性。

Private Sub Form_Load()
Dim rs As New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open "select * from sht图纸编号 ", Cnntzbh
With MSHFlexGrid1
        .ColWidth(0) = 800
        .ColWidth(1) = 2000
End With
Set MSHFlexGrid1.DataSource = rs
rs.MoveLast
'***加上这行代码,若果行很多时就可以看到最后的记录行了***
MSHFlexGrid1.TopRow=MSHFlexGrid1.Row
End Sub
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式