| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 452 人关注过本帖
标题:为什么当数据为空时计算的余额没有结果,再次发贴求助!将以我最大的分值献 ...
只看楼主 加入收藏
qjw9004
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2011-1-27
结帖率:47.37%
收藏
已结贴  问题点数:31 回复次数:4 
为什么当数据为空时计算的余额没有结果,再次发贴求助!将以我最大的分值献上!
表htsx字段有:
id(自动编号)
htbh(合同编号)在表中是唯一性
gys(供应商)
htnr(合同内容)
htj(合同价)
本表是记录每份合同的信息
表htsx
id htbh gys htnr htj
1 XM-001 河池五金公司 电线类 120,000.00
2 XM-002 南宁五洋化工 磷酸 200,000.00
3 XM-003 上海轻钢公司 轴承等 500,000.00
4 XM-004 南宁华仁电线 高压线缆 300,000.00

表fkmx字段有:
id(自动编号)
htbh(合同编号)与表htsx的字段htbh有对应的
fkje(付款金额)
本表是记每次付合同款的记录
表fkmx
id htbh fkje
1 XM-001 100,000.00
2 XM-002 50,000.00
3 XM-001 10,000.00
4 XM-001 10,000.00

在ASP页面代中,想要的效果是 表htsx的字段对应合同编号减去表fkmx 的fkje(付款金额)合计等于尚欠sc_sqje
简单表述为htj(合同价)- fkje(付款金额)对应合同编号的合计= sc_sqje(尚欠金额)

网上的朋友提供的代码如下
htbh=request.QueryString("htbh")
set rs_1 = server.createobject("adodb.recordset")
sql = "SELECT a.htbh, a.gys, a.htnr, a.htj, SUM(b.fkje) AS fkje_hj, a.htj-SUM(b.fkje) AS sc_sqje FROM htsx AS a LEFT JOIN fkmx AS b ON a.htbh=b.htbh GROUP BY a.htbh, a.gys, a.htnr, a.htj HAVING a.htbh='"& htbh &"'"
rs_1.open sql,conn,1,1
结果显示为<%=rs_1("sc_sqje")%>
现在的问题是当fkje(付款金额)没有记录既尚未付款,本应该尚欠金额等于合同价,但现在是fkje(付款金额)没有记录尚欠金额就不显示,切望朋友的指点!
搜索更多相关主题的帖子: 最大的 
2011-08-30 21:55
haojialin
Rank: 2
等 级:论坛游民
帖 子:12
专家分:59
注 册:2011-7-30
收藏
得分:8 
我顶你

沈阳网站建设、沈阳网站制作、沈阳网页设计-领航网络工作室-www.
2011-08-31 08:33
孤独冷雨
Rank: 10Rank: 10Rank: 10
来 自:安徽滁州
等 级:贵宾
威 望:23
帖 子:1247
专家分:1909
注 册:2007-6-4
收藏
得分:8 
没有记录时,你表字段默认为0应该就行了!

这里有男女系列成人用品,有时间兄弟们来看一看.
51za.
2011-08-31 15:36
dzt0001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1281
专家分:4998
注 册:2005-10-12
收藏
得分:8 
当没有付款记录时,SUM(b.fkje)会返回null值,不能参与计算了。
你是查询一个编号的剩余金额,分成两句SQL两个数据集,更直观简单

set rs_1 = server.createobject("adodb.recordset")
sql="select htbh, gys, htnr, htj from htsx where htbh='"& htbh &"'"
rs_1.open sql,conn,1,1

set rs_2 = server.createobject("adodb.recordset")
sql="select sum(fkje) as fkje from fkmx where htbh='"& htbh &"'"
rs_2.open sql,conn,1,1

if isnull(rs_2("fkje")) then
    fkje=0
else
    fkje=rs_2("fkje")
end if

Response.write Rs_1("htj")-fkje

[ 本帖最后由 dzt0001 于 2011-8-31 16:20 编辑 ]

----我怎能在别人的苦难面前转过脸去----
2011-08-31 15:54
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:8 
不要让字段NULL设置默认值为0
2011-08-31 16:11
快速回复:为什么当数据为空时计算的余额没有结果,再次发贴求助!将以我最大的分 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020505 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved