北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
因实际工作需要,经常用到余额的计算,在本站中有很多方法都不是很如意。自己写了一个代码,效果很不错。但无法将其写成公共模块,方便调用,只能一个模块写一次。如果能写成公共模块就好了。代码如下:
Dim cn As New ADODB.Connection '连接对象
Dim rs As New ADODB.Recordset '记录集对象
Dim y As Currency '货币类型
Dim strSQL As String '查询字符串
DAO.DBEngine.SetOption dbMaxLocksPerFile, 1000000 '设计数据库可以运行的记录条数为100万条
Set cn = CurrentProject.Connection
strSQL = "SELECT * FROM 销售单 ORDER BY 往来代码, 序号" '设置查询语句
rs.Open strSQL, cn, adOpenDynamic, adLockOptimistic, adCmdText '记录集
rs.MoveFirst '从第一条记录开始
y = 0
Do While Not rs.EOF '循环开始
rs!余额 = Nz(rs!金额) - Nz(rs!收款) - Nz(rs!费用) + y
rs.Update '保存上面计算的结果到数据库中
y = rs!余额 '重新设定 y 值计算下一条记录
rs.MoveNext '跳转到下一条记录
Loop
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
谢谢了!!!!!!!