楼上的,不要简单问题复杂化!最简单的就是
表名称 (仓储单据) 可以定义两个界面分别为 入库单/出库单
字段:
主表(kc):
id, '单据记录的ID号 int
billno, '仓储单据的编号 varchar
wldw_id, '往来单位的ID号 int
wldw_name, '往来单位的名称 varchar
bm_id, '部门的ID号 int
bm_name, '部门的名称 varchar
comment_, '备注的信息 varchar
crk, '代表出入库的标记,1代表入库,-1代表出库 int
lx '出入库的不同类型,例如 入库有采购入库/完工入库/委外收回等,出库有销售出库/生产领用等信息 int
明细表(kcex):
id, '代表货物清单里面记录的ID号 int
pid, '代表当前记录绑定的单据号 int
hwid, '代表货物的ID号 int
hwmc, '代表货物的名称 varchar
gg, '代表货物的规格型号 varchar
jldw, '货物的计量单位 int
sl, '出入库发生的数量 num
dj, '单价 num
je '金额 num
库存的查询的SQL语句
select b.hwid,b.hwmc,isnull(b.gg,'') as gg,b.jldw,
(case when a.crk= 1 then b.sl else 0 end) as rk_sl,
(case when a.crk=-1 then b.sl else 0 end) as ck_sl,
sum(a.crk*b.sl) as kc_sl
from kc a,kcex b
where a.id=b.pid
and a.billdate-1<'2007.07.05'
group by b.hwid,b.hwmc,isnull(b.gg,''),b.jldw