在单机版是很容易。可在网络版多用户环境下,客户端又如何汇总呢?对不起,分不多了。谢谢!

解决方案 »

  1.   

    在客户端,也可用SQL语句完成啊。
      

  2.   

    to lxjssy
    在客户端,也可用SQL语句完成啊。在客户端完成,这样会下载很多数据。
      

  3.   

    to ulghaf
    建議用 store-proc
     
    请问这是什么意思?  
      

  4.   

    这个是不是有点复杂,人家写的,看不明白。请分析一下。
    select * from
     (select H.ID, H.BH, H.PM, H.DW, H.QCS1 + iif(isnull(J.QCJCSL), 0, J.QCJCSL) as SLA, H.QCJE1 + iif(isnull(J.QCJCJE), 0, J.QCJCJE) as JEA, iif(isnull(J.BQSRSL), 0, J.BQSRSL) as SLB, iif(isnull(J.BQSRJE), 0, J.BQSRJE) as JEB, iif(isnull(J.BQFCSL), 0, -J.BQFCSL) as SLC, iif(isnull(J.BQFCJE), 0, -J.BQFCJE) as JEC, SLA + SLB - SLC AS SLD, JEA + JEB - JEC AS JED from
     (select H.ID, H.BH, H.PM, H.DW, K.QCS1, K.QCS1 * H.QCJQJ as QCJE1 from HP H,
     (select HPID, sum(QCS) as QCS1 from HPKC  group by HPID) K where K.HPID = H.ID) as H, (select HPID, sum(iif(RQ < #2006-10-01#, SL1, 0)) as QCJCSL, sum(iif(RQ < #2006-10-01#, SL1 * DJ1, 0)) as QCJCJE, sum(iif(M.JCLX = 1 and RQ >= #2006-10-01#, SL1, 0)) as BQSRSL, sum(iif(M.JCLX = 1 and RQ >= #2006-10-01#, SL1 * DJ1, 0)) as BQSRJE, sum(iif(M.JCLX = 2 and RQ >= #2006-10-01#, SL1, 0)) as BQFCSL, sum(iif(M.JCLX = 2 and RQ >= #2006-10-01#, SL1 * DJ1, 0)) as BQFCJE from
     (select 1 as JCLX, M.CKID, M.HPID, M.ZBID, iif(Z.CGLX=1, '现金采购', '挂帐采购') as LX, Z.RQ, Z.DJBH, K.MC as MC1, + M.SL as SL1, M.DJ as DJ1, val(Format(M.SL * M.DJ, '0.00')) as JE1 from CGSHZB Z, CGSH M, GYS K where M.ZBID = Z.ID and Z.GYSID = K.ID and Z.RQ <= #2006-10-27# 
    union all select 1 as JCLX, M.CKID, M.HPID, M.ZBID, '采购退货' as LX, Z.RQ, Z.DJBH, K.MC as MC1, - M.SL as SL1, M.DJ as DJ1, val(Format(M.SL * M.DJ, '0.00')) as JE1 from CGTHZB Z, CGTH M, GYS K where M.ZBID = Z.ID and Z.GYSID = K.ID and Z.RQ <= #2006-10-27# 
    union all select 2 as JCLX, M.CKID, M.HPID, M.ZBID, iif(Z.XSLX=1, '现金销售', '挂帐销售') as LX, Z.RQ, Z.DJBH, K.MC as MC1, - M.SL as SL1, M.DJ as DJ1, val(Format(M.SL * M.DJ, '0.00')) as JE1 from XSKDZB Z, XSKD M, KH K where M.ZBID = Z.ID and Z.KHID = K.ID and Z.RQ <= #2006-10-27#
     union all select 2 as JCLX, M.CKID, M.HPID, M.ZBID, '销售退货' as LX, Z.RQ, Z.DJBH, K.MC as MC1, + M.SL as SL1, M.DJ as DJ1, val(Format(M.SL * M.DJ, '0.00')) as JE1 from XSTHZB Z, XSTH M, KH K where M.ZBID = Z.ID and Z.KHID = K.ID and Z.RQ <= #2006-10-27#
     union all select 2 as JCLX, M.CKID, M.HPID, M.ZBID, '领料' as LX, Z.RQ, Z.DJBH, K.MC as MC1, - M.SL as SL1, M.DJ as DJ1, val(Format(M.SL * M.DJ, '0.00')) as JE1 from LLZB Z, LL M, CK K where M.ZBID = Z.ID and Z.CKID = K.ID and Z.RQ <= #2006-10-27# 
    union all select 1 as JCLX, M.CKID, M.HPID, M.ZBID, '退料' as LX, Z.RQ, Z.DJBH, K.MC as MC1, + M.SL as SL1, M.DJ as DJ1, val(Format(M.SL * M.DJ, '0.00')) as JE1 from TLZB Z, TL M, CK K where M.ZBID = Z.ID and Z.CKID = K.ID and Z.RQ <= #2006-10-27#
     union all select 1 as JCLX, M.CKID, M.HPID, M.ZBID, '产品进仓' as LX, Z.RQ, Z.DJBH, K.MC as MC1, + M.SL as SL1, M.DJ as DJ1, val(Format(M.SL * M.DJ, '0.00')) as JE1 from CPJCZB Z, CPJC M, CK K where M.ZBID = Z.ID and Z.CKID = K.ID and Z.RQ <= #2006-10-27#
     union all select 1 as JCLX, M.CKID, M.HPID, M.ZBID, '库存调整' as LX, Z.RQ, Z.DJBH, K.MC as MC1, + M.SL as SL1, M.DJ as DJ1, val(Format(M.SL * M.DJ, '0.00')) as JE1 from KCPDZB Z, KCPD M, CK K where M.ZBID = Z.ID and Z.CKID = K.ID and Z.RQ <= #2006-10-27#
     union all select 2 as JCLX, M.DCCID as CKID, M.HPID, M.ZBID, '仓库调出' as LX, Z.RQ, Z.DJBH, K.MC as MC1, - M.SL as SL1, M.DJ as DJ1, val(Format(M.SL * M.DJ, '0.00')) as JE1 from CKDBZB Z, CKDB M, CK K where M.ZBID = Z.ID and Z.DCCID = K.ID and Z.RQ <= #2006-10-27#
     union all select 1 as JCLX, M.DRCID as CKID, M.HPID, M.ZBID, '仓库调入' as LX, Z.RQ, Z.DJBH, K.MC as MC1, + M.SL as SL1, M.DJ as DJ1, val(Format(M.SL * M.DJ, '0.00')) as JE1 from CKDBZB Z, CKDB M, CK K where M.ZBID = Z.ID and Z.DRCID = K.ID and Z.RQ <= #2006-10-27#
     union all select 2 as JCLX, M.CKID, M.HPID, M.ZBID, '其它库存变动-减少' as LX, Z.RQ, Z.DJBH, K.MC as MC1, - M.SL as SL1, M.DJ as DJ1, val(Format(M.SL * M.DJ, '0.00')) as JE1 from QTKCBDZB Z, QTKCBD M, CK K where M.ZBID = Z.ID and Z.CKID = K.ID and Z.CRLX = 1 and Z.RQ <= #2006-10-27# 
    union all select 1 as JCLX, M.CKID, M.HPID, M.ZBID, '其它库存变动-增加' as LX, Z.RQ, Z.DJBH, K.MC as MC1, + M.SL as SL1, M.DJ as DJ1, val(Format(M.SL * M.DJ, '0.00')) as JE1 from QTKCBDZB Z, QTKCBD M, CK K where M.ZBID = Z.ID and Z.CKID = K.ID and Z.CRLX = 2 and Z.RQ <= #2006-10-27#
     union all select 1 as JCLX, Z.CKID, M.HPID, M.ZBID, '其它库存变动-退还增加' as LX, Z.RQ, Z.DJBH, K.MC as MC1, + M.SL as SL1, M.DJ as DJ1, val(Format(M.SL * M.DJ, '0.00')) as JE1 from QTKCBDZB Z, THGC M, CK K where M.ZBID = Z.ID and Z.CKID = K.ID and Z.CRLX = 1 and Z.RQ <= #2006-10-27# 
    union all select 2 as JCLX, Z.CKID, M.HPID, M.ZBID, '其它库存变动-退还减少' as LX, Z.RQ, Z.DJBH, K.MC as MC1, - M.SL as SL1, M.DJ as DJ1,
      

  5.   

    客户端的SQL语句一定是在客户端执行的吗?个人认为客户端的SQL语句传到服务端,有服务端执行并返回SQL语句的结果,执行还是服务端执行的,并不是是把所有数据都下载到客户端,再查询结果的。不知道这个看法对不对,感觉好像是这样的,我的程序中这样执行,速度并没有影响,检测网络的数据流量,没有大的变化。
    好像定位记录是要下载到本地来,其他的好像不会。
      

  6.   

    to lxjssy
    你也许是对的。不过还是要避免把大量数据带到客户端。sql查询用存储过程也行,速度是不是稍快此。