注册 登录
编程论坛 VB6论坛

recordset读取顺序与access数据顺序匹配问题

建生65 发布于 2018-10-30 20:52, 2153 次点击
问题描述:使用AOD对象链接acess数据库,读取出来数据与acess顺序不一致,请问读取的游标与aceess记录的顺序有关系么,我的理解是:默认情况下,游标应该从acess的第一条记录开始。
代码和截图如下:
    rs.Open "炉料", cnn, 2, 3
    rs.MoveFirst
    Do While Not rs.EOF
        MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
        MSFlexGrid1.TextMatrix(row, 0) = rs.Fields(0)
        MsgBox rs.Fields(0)
        For i = 1 To N + 2
            MSFlexGrid1.TextMatrix(row, i) = Format(rs.Fields(i), "#0.00##")
        Next i
        row = row + 1
        rs.MoveNext
    Loop
运行结果如附件图:
只有本站会员才能查看附件,请 登录
1 回复
#2
ZHRXJR2018-11-02 11:38
解决方法,在acess数据库的炉料数据表增加一个 ID 自动编号字段,修改:
rs.Open "炉料", cnn, 2, 3 为 rs.Open "Selsce * from 炉料 order by ID", cnn, 2, 3
以 ID 的升序排列。你原来的估计是以哪个字段的升序排列的(好像是炉料名称或分类)。
或修改为  rs.Open "Selsce * from 炉料 order by 炉料名称 desc", cnn, 2, 3  ,缺点是如果炉料名称比较多,不一定按原来顺序排列。
1