Office中国论坛/Access中国论坛
标题:
是/否字段,vba 更新问题
[打印本页]
作者:
czp627
时间:
2007-9-24 09:50
标题:
是/否字段,vba 更新问题
为什么不能直接更新是/否字段啊
我在转厂窗体中存盘后,要求按转厂数量回写到关信窗体中已交数,这一点我做到了。同时我要比较转厂存盘时(即把数量回写到关封已交数里,同时在关封窗体里比较数量和已交数,如果关封里数量小于已交数,就把关封主档的结案设为真,打上勾),不知道那里出错,总不能把结案是/否设为false 或true ,那位帮我看看,谢谢
作者:
czp627
时间:
2007-9-24 10:12
急啊,等着交差啊,那位好心人帮帮我啊
作者:
czp627
时间:
2007-9-24 11:06
很难吗,这么人看没人回答哟
作者:
czp627
时间:
2007-9-24 13:22
首先谢谢你了,关封这一块没问题
我流程是:转厂主档:新增-关封单号(关封主档里带过来的)-细部展开(就把相对关封明细带到转厂子窗体了,如果需要就修改数量,不改就直接存盘,)-存盘(同时:把转厂的数量回写到关封明细表中已交数。同时判断如果关封明细表数量不小于已交数。注意思要每一列。然后,如果满足这个条件,就把关封主档的结案设为真)
作者:
czp627
时间:
2007-9-24 15:29
关键点:一个就是把转厂的数量回写到关封的已交娄,二就是回写后,要求判断关封明细表中,如果关封明细表中数量大于等于已交数,就把关封主档中的结案设为真
作者:
czp627
时间:
2007-9-25 09:04
没一个高手吗,是不是好难啊
作者:
hi-wzj
时间:
2007-9-25 09:26
1、如果“转厂明细表”里面的“数量”合计值恒等于“关封明细表”的“已交数”,那“已交数”是一个冗余字段。因为已交数可以用查询到“关封明细表”的“已交数”那里读取。
2、“关封主档”中的“结案”,也可能是个冗余字段。
如果您现在不理解,先在脑子里有这印象即可,到时候再优化吧。
3、我不明白您为什么那么喜欢用dao来做更新,其实一个简单的更新查询就可以完成。
作者:
hi-wzj
时间:
2007-9-25 09:32
比如更新是否结案的查询为:
UPDATE 关封主档 SET 关封主档.结案 = -1
WHERE (((关封主档.关封单号) In (SELECT 关封主档.关封单号
FROM 关封主档 INNER JOIN 关封明细表 ON 关封主档.关封单号 = 关封明细表.关封单号
GROUP BY 关封主档.关封单号, 关封主档.结案
HAVING (((关封主档.结案)=0) AND ((Sum([数量]>[已交数]))=0));
)));
作者:
hi-wzj
时间:
2007-9-25 09:42
至于:把转厂的数量回写到关封的已交数,我没仔细研究程序
我不知道您关封明细和转厂明细间的关系,是否为“关封单号”和“产品编号”和“仓库”都相同的才更新。如果更新前“已交数”中已有数据,是先删除原有的数量呢还是在原数量上叠加。
如果“转厂主档”中的“关封单号”有重复,那“转厂明细”中的“数量”也有可能重复,那这数量是累计后更新到“已交数”中还是怎么弄?
作者:
czp627
时间:
2007-9-26 19:00
1“关封单号”和“产品编号”和“仓库”都相同的才更新。如果更新前“已交数”中已有数据,是先原数量上叠加。
2 “转厂主档”中的“关封单号”不會有重复
作者:
hi-wzj
时间:
2007-9-28 14:31
UPDATE (关封明细表 INNER JOIN 转厂明细表 ON (关封明细表.仓库 = 转厂明细表.仓库) AND (关封明细表.产品编号 = 转厂明细表.产品编号)) INNER JOIN 转厂主档 ON (转厂主档.转厂单号 = 转厂明细表.转厂单号) AND (关封明细表.关封单号 = 转厂主档.关封单号) SET 关封明细表.已交数 = 关封明细表!已交数+转厂明细表!数量;
作者:
jsf2008
时间:
2008-1-24 13:50
不错呀!!!!!!!!!
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3