标题:————急需,新手求教 VFP 两表有相同字段,把表的 B 字段追加到表 A 的 ...
只看楼主
qq2099641244
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-10-25
结帖率:0
已结贴  问题点数:20 回复次数:15 
————急需,新手求教 VFP 两表有相同字段,把表的 B 字段追加到表 A 的 A 字段里
图1:
     ————————————————————————————  
图2:     

如图所示,我表2也可以如图2那样,表2是我自己创建的一个固定表,不知道选哪个好。表1数据很多,表2固定十几个用来替换的。
表1我有编号,名称,数量,表2有编号,用料编号,用料名称,百分比数量(或者编号,用料编号1,用料名称1,比例1,用料编号2,用料名称2,比例2)
图1:执行 当表1的编号=表2的编号时,追加一条记录,把表2的用料编号追加到表1的编号里,表1的数量=表1的数量*百分比,把表1每条记录都这样循环下,追加下
图2:执行 当表1的编号=表2的编号时,追加一条,把表2的用料编号追加到编号里,表1的数量=表1的数量*比例1,在追加一条,把表2的用料编号2追加到编号里,表1的数量=表1的数量*比例2
新手不懂写的
我用图2的表2
SCAN
 sele 表2
 SEEK 表1.编号
 SELE 表1
 APPEND BLANK
 REPL 表1.编号 WITH 表2.用料编号1,表1.数量 WITH 表1.数量*表2.比例1
 APPEND BLANK
 REPL 表1,编号 WITH 表2.用料编号2,表1.数量 WITH 表1.数量*表2.比例2
ENDSCAN
我这样写只执行了一次,不能循环,为了方便我表1只放一条记录,实际上有几万条,我想把几万条都执行
最后把770ZHBL这个编号的记录删除。
以上2个图,选一个就可以了。具体代码要怎么写

[ 本帖最后由 qq2099641244 于 2014-10-25 10:18 编辑 ]
搜索更多相关主题的帖子: 百分比 如图所示 记录 
2014-10-25 10:07
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:10 
A字段与B字段是什么字段?

坚守VFP最后的阵地
2014-10-25 10:13
qq2099641244
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-10-25
得分:0 
回复 2 楼 sdta
字符,看我文章可以更清楚点
2014-10-25 10:15
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
VFP9
INSERT INTO ....... SELECT ............

坚守VFP最后的阵地
2014-10-25 10:26
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
用图1中的两个表最合适

坚守VFP最后的阵地
2014-10-25 10:28
qq2099641244
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-10-25
得分:0 
回复 5 楼 sdta
SCAN
SELE 表1
insert into 表1(编号)sele 用料编号 from 表2 where 表1.编号=表2.编号
ENDSCAN
这样吗? 那那个数量怎么办,数量是要表1的乘以表2的比例的

[ 本帖最后由 qq2099641244 于 2014-10-25 10:59 编辑 ]
2014-10-25 10:43
qq2099641244
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-10-25
得分:0 
回复 4 楼 sdta
insert 好像不行
我表1是很多记录的,表2是固定那些来调用过去的
比如查找表1第一条记录,如果表1的编号=表2的编号,那就把表2的用料编号追加到表1编号里
继续查找第二条记录,如果表1的编号=表2的编号,那就把表2的用料编号追加到表1编号里
一直循环到底
表1 编号  数量      表2  编号  用料编号  比例     
    A110  100            A110  A1        0.3
    A220  50             A110  A0        0.7
                         A220  A2        0.3
                         A220  A20       0.7
执行完结果
表1 编号  数量
    A110  100
    A220  50
    A1    30
    A0    70
    A2    15
    A20   35
2014-10-25 11:14
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
表2做主表
CLOSE DATABASE
USE 表2
SCAN
   INSERT INTO 表1 SELECT 表2.用料编号,表2.用料名称,表1.数量*表2.比例 FROM 表1
ENDSCAN
SELECT 表1
BROWSE

坚守VFP最后的阵地
2014-10-25 11:16
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
加条件 WHERE

坚守VFP最后的阵地
2014-10-25 11:17
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
上传原表

坚守VFP最后的阵地
2014-10-25 11:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-437673-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.247290 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved