Access 中如何实现几个字段值求和

时间:2022-05-15 15:13:29
表中有如下字段: 第一次到款额   第二次到款额   第三次到款额   第四次到款额 到款总额  
其中到款总额为四次到款额之和.
请问怎么计算到款总额

10 个解决方案

#1


关注楼主的问题。

#2


--如果在Access中运行,用:

UPDATE 表名 SET 到款总额 = nz([第一次到款额],0)+nz([第二次到款额],0)+nz([第三次到款额],0)+nz([第四次到款额],0)

#3


--如果在外部用ADO访问MDB,用:

UPDATE 表名 SET 到款总额 = 
    iif(isnull([第一次到款额]),0,[第一次到款额])+
    iif(isnull([第二次到款额]),0,[第二次到款额])+
    iif(isnull([第三次到款额]),0,[第三次到款额])+
    iif(isnull([第四次到款额]),0,[第四次到款额])

#4


我按照wangtiecheng的方法
UPDATE 表名 SET 到款总额 = nz([第一次到款额],0)+nz([第二次到款额],0)+nz([第三次到款额],0)+nz([第四次到款额],0)
试了,结果提示这一句有语法错误。
是Set语句的问题吗?还是我没有引用什么?

#5


如果你不是在Access内部执行,不要用nz()函数,用上面提供的第二种方式:

UPDATE 表名 SET 到款总额 = 
    iif(isnull([第一次到款额]),0,[第一次到款额])+
    iif(isnull([第二次到款额]),0,[第二次到款额])+
    iif(isnull([第三次到款额]),0,[第三次到款额])+
    iif(isnull([第四次到款额]),0,[第四次到款额])

#6


上面已经说的很清楚了,如果你不是在access中运行,不能用nz(),使用上面的第二种方式。

#7


我是在Access中运行的,修改过的程序如下
Private Sub jiusan()
Dim rst As New ADODB.Recordset

rst.Open "UPDATE 到款额度 SET 到款总额 = nz([第一次到款额度],0)+nz([第二次到款额度],0)+nz([第三次到款额度],0)+nz([第四次到款额度],0)"
End Sub

现在倒是不提示错误了,但是计算结果不是相加。
比如我的四次到款额分别为1 2 3 4
计算结果是1235,不知道为什么最后一位不管表里是什么数字结果都是5

#8


用求和


编程动力 www.bcexe.com 专业的编程开发类网站,网络编程,软件开发,网站开发,一切尽在这里!

#9


字段类型?

中断代码,调试出SQL语句,直接在Access中运行试试。

#10


我的问题解决了,是用的Csng函数, Me![到款总额]= CSng(Me![第一次到款额度]) + CSng(Me![第二次到款额度]) + CSng(Me![第三次到款额度]) + CSng(Me![第四次到款额度])

#1


关注楼主的问题。

#2


--如果在Access中运行,用:

UPDATE 表名 SET 到款总额 = nz([第一次到款额],0)+nz([第二次到款额],0)+nz([第三次到款额],0)+nz([第四次到款额],0)

#3


--如果在外部用ADO访问MDB,用:

UPDATE 表名 SET 到款总额 = 
    iif(isnull([第一次到款额]),0,[第一次到款额])+
    iif(isnull([第二次到款额]),0,[第二次到款额])+
    iif(isnull([第三次到款额]),0,[第三次到款额])+
    iif(isnull([第四次到款额]),0,[第四次到款额])

#4


我按照wangtiecheng的方法
UPDATE 表名 SET 到款总额 = nz([第一次到款额],0)+nz([第二次到款额],0)+nz([第三次到款额],0)+nz([第四次到款额],0)
试了,结果提示这一句有语法错误。
是Set语句的问题吗?还是我没有引用什么?

#5


如果你不是在Access内部执行,不要用nz()函数,用上面提供的第二种方式:

UPDATE 表名 SET 到款总额 = 
    iif(isnull([第一次到款额]),0,[第一次到款额])+
    iif(isnull([第二次到款额]),0,[第二次到款额])+
    iif(isnull([第三次到款额]),0,[第三次到款额])+
    iif(isnull([第四次到款额]),0,[第四次到款额])

#6


上面已经说的很清楚了,如果你不是在access中运行,不能用nz(),使用上面的第二种方式。

#7


我是在Access中运行的,修改过的程序如下
Private Sub jiusan()
Dim rst As New ADODB.Recordset

rst.Open "UPDATE 到款额度 SET 到款总额 = nz([第一次到款额度],0)+nz([第二次到款额度],0)+nz([第三次到款额度],0)+nz([第四次到款额度],0)"
End Sub

现在倒是不提示错误了,但是计算结果不是相加。
比如我的四次到款额分别为1 2 3 4
计算结果是1235,不知道为什么最后一位不管表里是什么数字结果都是5

#8


用求和


编程动力 www.bcexe.com 专业的编程开发类网站,网络编程,软件开发,网站开发,一切尽在这里!

#9


字段类型?

中断代码,调试出SQL语句,直接在Access中运行试试。

#10


我的问题解决了,是用的Csng函数, Me![到款总额]= CSng(Me![第一次到款额度]) + CSng(Me![第二次到款额度]) + CSng(Me![第三次到款额度]) + CSng(Me![第四次到款额度])