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显示最后一行记录
问题出在哪? 展开
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显示最后一行记录
问题出在哪? 展开
1个回答
展开全部
其实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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询