会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > 编程心得绝招 > 实际编程 > 正文

用ADO大量修改SQL SEVER表数据时采用进度显示

时间:2004-06-06 00:21 来源:Access软件网 作者:竹笛『文… 阅读:

发布:2004-6-3

作者:竹笛

简介:
   
当需要在access中大量修改SQL SEVER2000的表数据时,为免于给操作员死机印象,显示修改进度.下面要采取修改记录的原因是因为操作员在录入原始数据时,有的记录销售额没有加上税率17%,所以不得不人为修改.在我修改这些记录时,销售明细表已有30万条记录.如果不加上进度条,运行程序时会给人一种死机的感觉。

代码:

建一个窗体,一个标签,一个按钮.示例如下:
Private Sub Command1_Click()

    Dim rst As adodb.Recordset
    Dim i As Long
    Dim j As Long
    Dim ActSum As Double'计算出来的销售额,是指单价*销售量
    Dim strSQL As String
    Set rst = New adodb.Recordset
    strSQL = "select * from 表名称"
    rst.Open strSQL, CurrentProject.Connection, adOpenDynamic, adLockOptimistic
    i = 1
    j = 1
    rst.MoveFirst
    Do Until rst.EOF
        '字段Price是单价,字段Weight_sal是销售量,字段sumMoney是销售额
        ActSum = rst("Price") * rst("Weight_sal")
        If Abs(ActSum - rst("sumMoney") * 1.17) < 10 Then
            rst("sumMoney") = Round(ActSum, 2)
            rst.Update
            j = j + 1
        End If
        rst.MoveNext
        DoEvents
        Application.Forms("窗体名")![标签名].Caption = "运行记录: " & i & "/总记录: 300000 /修改记录: " & j
        i = i + 1
    Loop
    rst.Close
    Set rst = Nothing
End Sub

(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: