VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1237|回复: 9

仓库管理软件中如何一次性修改库存表中的数据?

[复制链接]

2

主题

12

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-1-4 14:00:01 | 显示全部楼层 |阅读模式
入库单录入时可以在DBGrid1中一次性录入多条记录,保存时我想修改库存表中的相应的记录,可是这样的话就会用到while语句一个一个地修改速度太慢,能不能一次性修改?
回复

使用道具 举报

0

主题

16

帖子

16.00

积分

新手上路

Rank: 1

积分
16.00
发表于 2020-1-4 14:03:02 | 显示全部楼层
可以,用批量处理就可以了,建议你去2ccc.com下载个例子看看,还是比较简单的
回复

使用道具 举报

2

主题

12

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-1-4 14:18:01 | 显示全部楼层
能不能说具体一下,或给个代码,我没找到相关的内容。
回复

使用道具 举报

2

主题

12

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-1-5 00:21:01 | 显示全部楼层
//修改库存表中的现存数量
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from RukuTmp');
ADOQuery1.Open;
//从入库临时表中查找所有数据
ADOQuery1.First;
while not ADOQuery1.Eof do
begin
  ADOQuery2.Close;
  ADOQuery2.SQL.Clear;
  ADOQuery2.SQL.Add('Select * from Kucun where ChID=:a');
  ADOQuery2.Parameters.ParamByName('a').Value:=ADOQuery1.fieldbyname('ChID').AsString;
  ADOQuery2.Open;
  ADOQuery2.Edit;
  ADOQuery2.FieldByName('Kcsl').AsFloat:=ADOQuery2.fieldbyname('Kcsl').AsFloat
    +ADOQuery1.fieldbyname('Rksl').AsFloat;   
  ADOQuery2.Post;
  ADOQuery1.Next;
end;
回复

使用道具 举报

0

主题

40

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-1-5 08:42:01 | 显示全部楼层
update Kucun
set Kcsl=Kucun.Kcsl+RukuTmp.Rksl
from Kucun ,RukuTmp
where Kucun.ChID=RukuTmp.ChID
回复

使用道具 举报

0

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-1-5 11:36:01 | 显示全部楼层
用SUM求和
with ADOQuery1 do
begin
  close;
  sql.clear;
  sql.add('update Kucun set Kcsl = c.Kcsl from (select ChID,sum(Kcsl) as Kcsl from RukuTmp group by ChID) c, warehouse where Kucun.ChID =c.ChID ');
  execsql;
end;
回复

使用道具 举报

2

主题

12

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-1-5 13:06:01 | 显示全部楼层
xclzc17 ( )
我试了,你的方法不对,Update后不能连接两个表。
回复

使用道具 举报

0

主题

40

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-1-5 13:33:01 | 显示全部楼层
什么意思?
回复

使用道具 举报

0

主题

40

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-1-5 13:36:01 | 显示全部楼层
什么数据库?不能连接两个表是什么意思?
回复

使用道具 举报

2

主题

12

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-1-5 14:27:01 | 显示全部楼层
我是Access数据库,运行时提示:
语法错误(操作符丢失)在查询表达式'Kucun.Kcsl+RukuTmp.Rksl from Kucun'中。

所以我判定是',RukuTmp'没有被程序识别出来,是不是update后只能跟一个表?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表