注册 登录
编程论坛 ASP技术论坛

库存汇总的问题

i2008 发布于 2007-09-20 15:57, 767 次点击

<%
'有一个库存汇总的问题,请各位能者指点一下江山!
'共有二个表:1.表名为 2007 的进仓表; 2.表名为 2008 的使用表.由于其它因素而没有二表合一.
'现在需要把二个表的数据汇总后在一个页面上显示,能吗?怎样写呢?
'这里用二个表的货号的2007的字段[A]和2008的字段[AA]作比较:
'货号相同的合成一条数据显示,并把表2007的进仓数量相加显示,又把表2008的使用数量相加显示;
'货号不相同的作另外一条数据显示.
'库存数量来自: 进仓数量 - 使用数量 = 库存数量
'简单的来说是将二个表的数据汇总并计算出:同一货号的商品的进仓数量, 使用数量 和 库存数量.
'在此先谢过!
%>
<%
set rs=server.CreateObject("adodb.recordset")
sql="select * from [2007] or [2008] where ......"
rs.Open sql,conn,1,1
%>
<table>
<tr>
<td>货号</td>
<td>其它内容</td>
<td>进仓数量</td>
<td>使用数量</td>
<td>库存数量</td>
</tr>
<% do while not rs.eof%>
<tr>
<td><%=rs("A or AA")%></td>
<td><%=rs("B or BB")%></td>
<td><%=rs("进仓数量")%></td>
<td><%=rs("使用数量")%></td>
<td><%=rs("进仓数量 - 使用数量 = 库存数量")%></td>
</tr>
<%rs.movenext
loop%>
</table>

7 回复
#2
i20082007-09-20 20:43
有高手帮忙吗? 谢谢.
#3
zhongx2007-09-21 20:27
这个问题复杂了点,建议你找 yms123 帮忙!
#4
fengmumei2007-09-22 11:05

set rs=server.CreateObject("adodb.recordset")
set rs1=server.CreateObject("adodb.recordset")

sql="select sum(进仓数量) as jcsl,货号 from 2007 group by 货号"
rs.open sql,conn,1,1
if rs.eof then
response.write("无信息")
response.end()
else
%>
<table>
<tr>
<td>货号</td>
<td>进仓数量</td>
<td>使用数量</td>
<td>库存数量</td>
</tr>
<%
do while not rs.eof
jcsl=rs("jcsl")'进仓数量
sql1="select sum(使用数量) as sysl,货号 from 2008 where 货号='"&rs("货号")&"' group by 货号" '你的货号应该是唯一的吧
rs1.open sql1,conn,1,1
if not rs1.eof then
sysl=rs1("sysl")'使用数量
else
sysl=0
end if
rs1.close
kcsl=jcsl-sysl'库存数量=进仓数量-使用数量
%>
<tr>
<td><%=rs("货号")%></td>
<td><%=jcsl%></td>
<td><%=sysl%></td>
<td><%=kcsl%></td>
</tr>

<%

rs.movenext
loop
rs.close
%>
</table>
<%end if%>
因为你提供的表格的信息不全面,而且你的说明也不是很详细(“其他内容”是什么?哪个表格里的信息?),我只是按照我的理解写了上面的代码,仅供参考。

[此贴子已经被作者于2007-9-22 11:06:32编辑过]

#5
zhongx2007-09-22 13:29
4楼的写得很详细

[此贴子已经被作者于2007-9-22 14:38:45编辑过]

#6
zhongx2007-09-22 14:31

xx

[此贴子已经被作者于2007-9-22 14:35:00编辑过]

#7
madpbpl2007-09-22 16:13
4楼写的不错,但是要考虑到货号的问题,有可能2007会进新货,但是在2008表中没有记录,这个就没有列出来了。
#8
zhongx2007-09-22 17:07
以下是引用madpbpl在2007-9-22 16:13:19的发言:
不错,但是要考虑到货号的问题,有可能2007会进新货,但是在2008表中没有记录,这个就没有列出来了。

我测试过没有问题,而是:在2008表中有记录,而在2007表中没有记录的话就不会显示.

还有就是现在排列按顺序,这些情况最好按倒序排列.

[此贴子已经被作者于2007-9-22 21:30:28编辑过]

1