'adoRecordset是帮定DataGrid的数据源ADODB.RecordSet Private Sub Command1_Click() Dim i As Integer i = DataGrid1.Row i = i + 1 If i < adoRecordset.RecordCount Then DataGrid1.Row = i Else DataGrid1.Row = 0 End If End SubPrivate Sub Command2_Click() Dim i As Integer i = DataGrid1.Row i = i - 1 If i >= 0 Then DataGrid1.Row = i Else DataGrid1.Row = adoRecordset.RecordCount - 1 End If End Sub
tztz520(午夜逛街) 又没看清楚题目就答,他不是移动记录,是把记录给移动
用 msflexgrid 或 mshflexgrid,不绑定数据库,采用代码填充方式。do until rs.eof strline = rs.fields(1) & vbtab & rs.fields(2) & vbtab & ... & rs.fields(8) msflexgrid1.additem strling rs.movenext loop上移: n = msflexgrid1.row strline = "" for i = 0 to 7 strline = strline & msflexgri.textmatrix(n, i) & vbtab next i strline = left(string,len(strline) - 1) msflexgrid1.RemoveItem n msflexgrid1.additem strling, n - 1下移仅仅将最后一句改为 msflexgrid1.additem strling, n + 1当然,你必须检测记录是否到达了开头或结尾。
Private Sub Command1_Click()
Dim i As Integer
i = DataGrid1.Row
i = i + 1
If i < adoRecordset.RecordCount Then
DataGrid1.Row = i
Else
DataGrid1.Row = 0
End If
End SubPrivate Sub Command2_Click()
Dim i As Integer
i = DataGrid1.Row
i = i - 1
If i >= 0 Then
DataGrid1.Row = i
Else
DataGrid1.Row = adoRecordset.RecordCount - 1
End If
End Sub
strline = rs.fields(1) & vbtab & rs.fields(2) & vbtab & ... & rs.fields(8)
msflexgrid1.additem strling
rs.movenext
loop上移:
n = msflexgrid1.row
strline = ""
for i = 0 to 7
strline = strline & msflexgri.textmatrix(n, i) & vbtab
next i
strline = left(string,len(strline) - 1)
msflexgrid1.RemoveItem n
msflexgrid1.additem strling, n - 1下移仅仅将最后一句改为
msflexgrid1.additem strling, n + 1当然,你必须检测记录是否到达了开头或结尾。
//汗!也弄错了!