Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

付款信息疑问,关于查阅列

一如既往  发表于:2015-04-07 15:14:20  
复制

借用一下jed_85帖子中的附件点击下载此附件


在付款和来票信息表中的合同编号来自与合同信息表,当合同增加到几十或几百条后,想在付款和来票信息表中选取正确的合同编号就很麻烦了,拿付款信息表来说,能不能当付款金额等于合同金额后,该合同编号自动消失掉,这是我的一个想法,但不知道怎么实现?或是有其它更好的办法?

 

Top
煮江品茶 发表于:2015-04-08 12:06:33

select a.*,b.付款金额,a.合同金额-b.付款金额=0 as 付款完成 from 合同表 as a Left join 

(select 合同号,sum(付款表.付款金额) as  付款金额 from 付款表 group by 合同号) as b 

on a.合同号=b.合同号



一如既往 发表于:2015-04-09 16:43:04
刚学access,代码看的我头晕,能解释详细一点么?或者相关的帖子我学习一下

煮江品茶 发表于:2015-04-09 17:16:08
理解不了的话,就理解下面的查询,只是比上面的查询速度可能低一些。

select *,合同金额-Dsum("付款金额","付款表","合同号='" & [合同号] & "'")=0 as 付款完成

from 合同表 


实际上就是统计出付款表中的付款金额,将这个金额与合同表中的金额相减看看是否等于0即可。



一如既往 发表于:2015-04-09 18:23:56

点击下载此附件


代码要放在什么位置呀?是放在付款信息表的查阅属性 行来源 里面么?

另外,inner(left、right) join查了一下别的帖子,还是不太懂那个是左表和右表怎么区分;用笨办**流试,再根据等于0这个思路,利用查询自己弄了一下,不知道这样好不好,还请大神给看看?

还有一个问题,如果我填写付款金额的时候,比合同金额多的话,怎么能自动提示付款错误了!

Dsum,又要学一个新东西了。



一如既往 发表于:2015-04-09 18:37:22

select a.*,b.付款金额,a.合同金额-b.付款金额=0 as 付款完成 from 合同表 as a Left join 

(select 合同号,sum(付款表.付款金额) as  付款金额 from 付款表 group by 合同号) as b 

on a.合同号=b.合同号



select *,合同金额-Dsum("付款金额","付款表","合同号='" & [合同号] & "'")=0 as 付款完成

from 合同表 


这两段代码能不能按示例上实际的表名称和字段名称改写一下?






总记录:5篇  页次:1/1 9 1 :