小编Bel*_*ark的帖子

VB6 Ms Access数据库编辑大量记录

我需要使用VB6和MS Access数据库处理数十万条记录.我遍历记录集并编辑每条记录.但是这需要很多时间.使用Addnew和Update方法创建具有相同数量记录的数据库的速度要快得多.

如果有人向我展示任何代码示例或仅仅是策略,我将不胜感激.

这是代码

Data1(1).RecordSource = "Select * from TABLE order by Field_A ASC"
Data1(1).Refresh
If Data1(1).Recordset.RecordCount > 0 Then
    Data1(1).Recordset.MoveFirst
    Do
        Data1(1).Recordset.Edit
        Data1(1).Recordset.Fields("FIELD") = Sort_Value
        Data1(1).Recordset.Update
        Data1(1).Recordset.MoveNext
    Loop Until Data1(1).Recordset.EOF = True
End If
Run Code Online (Sandbox Code Playgroud)

这真的很简单.真实的是,我忘了提到,计算机的硬盘驱动器不断发出红色/写入.这实际上是问题所在.如此沉重的负载,无法不影响性能.

我首先想到的是查询生成的记录集,请记住我们有1-2万条记录,导致这个问题.我想它存在于硬盘驱动器和RAM中的一些临时位置.因此,执行.Edit和.Update可能是首先将光标定位在正确位置然后写入的问题.

不确定.可能会有一位专家向我展示出一条出路.

顺便说一句.我还尝试用固定长度循环替换Loop Until Data1(1).Recordset.EOF = True语句,因为我也读过,这次检查Recordset.EOF也会降低性能.

先感谢您!

vb6 ms-access

6
推荐指数
1
解决办法
6086
查看次数

标签 统计

ms-access ×1

vb6 ×1