这是我写的程序,从两张表里查询
dm.queryin.Close; dm.queryin.SQL.Clear;
dm.queryin.SQL.Add('select tb_sourout.原料名称,tb_sourout.规格,tb_sourout.计量单位,sum(数量) ''入库数量'',sum(领用数量) ''领用数量'' ,sum(数量)-sum(领用数量) ''库存数量'' from tb_sourout');
dm.queryin.SQL.Add('join tb_sourin');
dm.queryin.SQL.Add(' on (tb_sourin.原料名称=tb_sourout.原料名称)');
dm.queryin.SQL.Add('where tb_sourin.入库日期 like''%'+edit2.text+'%'' ' );
dm.queryin.SQL.Add('and tb_sourout.领用日期 like''%'+edit2.text+'%'' ');
dm.queryin.SQL.Add('group by tb_sourout.原料名称,tb_sourout.规格,tb_sourout.计量单位');
dm.queryin.Active:=true;
dm.queryin.Open;
兄弟们看看,是怎么回事啊
dm.queryin.Close; dm.queryin.SQL.Clear;
dm.queryin.SQL.Add('select tb_sourout.原料名称,tb_sourout.规格,tb_sourout.计量单位,sum(数量) ''入库数量'',sum(领用数量) ''领用数量'' ,sum(数量)-sum(领用数量) ''库存数量'' from tb_sourout');
dm.queryin.SQL.Add('join tb_sourin');
dm.queryin.SQL.Add(' on (tb_sourin.原料名称=tb_sourout.原料名称)');
dm.queryin.SQL.Add('where tb_sourin.入库日期 like''%'+edit2.text+'%'' ' );
dm.queryin.SQL.Add('and tb_sourout.领用日期 like''%'+edit2.text+'%'' ');
dm.queryin.SQL.Add('group by tb_sourout.原料名称,tb_sourout.规格,tb_sourout.计量单位');
dm.queryin.Active:=true;
dm.queryin.Open;
兄弟们看看,是怎么回事啊
解决方案 »
- 继续提问。 关于修改文件夹访问权限的。求实例
- 关于DLL里创建控件的events设置问题
- 关于加密解密的问题
- 请问一个ocx控件问题
- 请教dxdbgrid问题?
- 用Delphi编写的OCX打包后为何不能正常使用
- 有十个EDIT控件(edit1,edit2...edit10),现在想用循环对其text赋值,怎么实现?
- 一个读取ini文件问题,无法读取,怎么回事
- 我编程到现在为止,最棘手的问题,怎样能得到ado错误中文对照表.谁有,我愿再加100分!在线等待
- delphi中socket 如何知道一个包发送是否完整,如果不完整如何不重新发包能接下去发送?
- delphi中生成Excel为什么会这样?
- 路径的问题
直接采用这种形式,from tb_sourout,tb_sourin
这样你的问题应该可以解决了
dm.queryin.SQL.Clear;
dm.queryin.SQL.Add('select tb_sourout.原料名称,tb_sourout.规格,tb_sourout.计量单位,sum(数量) ''入库数量'',sum(领用数量) ''领用数量'' ,sum(数量)-sum(领用数量) ''库存数量'' from tb_sourout,tb_sourout');
dm.queryin.SQL.Add('where tb_sourin.原料名称=tb_sourout.原料名称 and tb_sourin.入库日期 like''%'+edit2.text+'%'' ' );
dm.queryin.SQL.Add('and tb_sourout.领用日期 like''%'+edit2.text+'%'' ');
dm.queryin.SQL.Add('group by tb_sourout.原料名称,tb_sourout.规格,tb_sourout.计量单位'); dm.queryin.execsql;
dm.queryin.active:=true;
你再试试
用你的方法还是翻倍了啊,在SQL里这么写的
select tb_sourout.原料名称,tb_sourout.规格,tb_sourout.计量单位,sum(数量) '入库数量',sum(领用数量) '领用数量' ,(sum(数量)-sum(领用数量)) '库存数量'
from tb_sourout,tb_sourin
where(tb_sourin.原料名称=tb_sourout.原料名称 and tb_sourin.入库日期 like '2003-8%' and tb_sourout.领用日期 like'2003-8%')
group by tb_sourout.原料名称,tb_sourout.规格,tb_sourout.计量单位
我在我这边已经测试过了,是正确的。
如果方便,你可以把一个测试用的数据库发给我access,sql server的都可以,我在我这里再测试一下。
我现在开了个ftp,仅几天有用:ftp:210.28.76.3 user:thanks password:thanks
当然不要涉及你们的秘密,你来个模型就可以了