主题:来看看我的问题,急死了!
绝缘子2009
[专家分:50] 发布于 2009-06-07 17:47:00
以下为TXT文件的内容,要求导入DBF后用一个程序实现以下功能:
编号 序号 图号 名称 数量 材料 单重 总重 备注
14JS313 省煤器吊挂管 1 装配件 11097
(由14JS3-0中的序号3~13组成)
1 3 14JS313-1 管子Φ42X6 6 20G 7.87 47.2
2 4 14JS313-2 管子Φ42X6 46 20G 8.16 375
3 5 14JS313-3 管子Φ42X6 8 20G 20.3 162
4 6 14JS313-4 管子Φ42X6 44 20G 20.7 911
7 14JS313-5-0 管件 3 装配件 39.1 117
5 7/1 14JS313-5-0 管子Φ42?;L=7310.5 3 20G 38.9 117
6 7/2 4JS313-5-1 挂耳板δ10;№1 3 1Cr6Si2Mo 0.18 0.54
1、导入数据表以后增加1列为标记列(次数据为A表)
2、新建一个数据表为B表
3、用一个程序代码实现以下功能:
a、当a表标记列=b表编号时提取a表有标记列整行的数据内容,提取b表整行的内容,并把a表的总重列求和保存到c表中,以下为例子:
如:
b表的编号为1,a表标记列为1的有序号1和序号3
b表的编号为2,a表的标记列为2的有序号5和序号6
那么c表的内容就应该是
编号(顺序号) 序号(=b表的编号) 图号(b表的图号) 名称(=b表的名称) 总重 (=满足条件求和后的重量)
1 1 14JS313-1 管子Φ42X6 209.2
2 3 14JS313-3 管子Φ42X6 209.2
3 7/1 14JS313-5-0 管子Φ42?;L=7310.5 117.54
4 7/2 14JS313-5-1 挂耳板δ10;№1 117.54
请问如何实现以上功能??请高手赐教!!!
回复列表 (共11个回复)
沙发
sywzs [专家分:5650] 发布于 2009-06-08 04:39:00
一、从你的TXT文件看,好像是用空格作为分隔符,但以下的数据却无规律。
[color=FF0000]1 3 14JS313-1 管子Φ42X6 6 20G 7.87 47.2
2 4 14JS313-2 管子Φ42X6 46 20G 8.16 375
3 5 14JS313-3 管子Φ42X6 8 20G 20.3 162
4 6 14JS313-4 管子Φ42X6 44 20G 20.7 911 [/color]
这几行可以与“编号 序号 图号 名称 数量 材料 单重 总重 备注”对应上,而“[color=FF0000]7 14JS313-5-0 管件 3 装配件 39.1 117 [/color]”中的“[color=FF0000]7[/color]”是编号还是序号,就不得而知了。
二、标记列用什么做标记?怎样标记?根据是什么?
板凳
jinlonggao [专家分:17130] 发布于 2009-06-08 18:28:00
不要急,再急也得把事儿说清楚.否则,怎么帮你?
从你的意思看,你是想把.TXT文件的数据导入到表A以后,再建一相同结构的表B,在表A中增加一标记字段,然后,根据具体情况,人工方法在表A的标记字段上填入相应的序号,然后再把表A中标记号相同的记录在总重字段上求和,将结果写入表B中,表B的编号就是表A中的标记号.
是不是这个意思?
另外,你的数据的编号、序号也令人费解。
而且,.txt文件中数据的格式行也不一致,需要进一步的筛选,甄别。
3 楼
绝缘子2009 [专家分:50] 发布于 2009-06-08 21:04:00
我来说下我的具体意思:
1、从txt导入数据表的步骤我已经做好了
2、jinlonggao 老师理解的意识是正确的
3、经过今天一天的实验,求和的问题已经解决了,现在的问题有以下几点:
我先把正确的表文件再写下,上边的有点问题(sywzs老师说的问题)
编号 序号 图号 名称 数量 材料 单重 总重 备注
14JS313 省煤器吊挂管 1 装配件 11097
(由14JS3-0中的序号3~13组成)
1 3 14JS313-1 管子Φ42X6 6 20G 7.87 47.2
2 4 14JS313-2 管子Φ42X6 46 20G 8.16 375
3 5 14JS313-3 管子Φ42X6 8 20G 20.3 162
4 6 14JS313-4 管子Φ42X6 44 20G 20.7 911
7 14JS313-5-0 管件 3 装配件 39.1 117
5 7/1 14JS313-5-0 管子Φ42?;L=7310.5 3 20G 38.9 117
6 7/2 4JS313-5-1 挂耳板δ10;№1 3 1Cr6Si2Mo 0.18 0.54
在序号7前面的编号为空,解释几个问题:表B的编号就是表A中的标记号;序号是所引用的图纸上的序号不等于编号;编号是表上的顺序号
4 楼
绝缘子2009 [专家分:50] 发布于 2009-06-08 21:20:00
先把我的原代码发上来帮我看看
close all
use 发货清单
delete all
pack
*****1步
select sum(val(总重)),fh.包装形式,fh.编号 group by 包装形式,fh.编号 from abcd,fh where val(abcd.发货号)=VAL(fh.编号) union;
select sum(val(总重)),fh.包装形式,fh.编号 group by 包装形式,fh.编号 from abcd,fh where val(abcd.发货号)=VAL(fh.编号) union;
select sum(val(总重)),fh.包装形式,fh.编号 group by 包装形式,fh.编号 from abcd,fh where val(abcd.发货号)=VAL(fh.编号) into cursor temp
**1.1步
select sum(val(fh.包装数))from fh into cursor temp_包装数
*******2步
insert into 发货清单("零件清单号","图号","名称","包装形式","数量","单重","总重","包装图号","备注","发货号","总包数","包数");
select abcd.编号,abcd.图号,abcd.名称,fh.包装形式,ALLTRIM(abcd.数量),ALLTRIM(str(temp.sum_exp_1)),ALLTRIM(str(temp.sum_exp_1+fh.增重)),fh.包装图号,fh.备注,;
alltrim(fh.编号)+"/"+alltrim(str(temp_包装数.sum_exp_1)),temp_包装数.sum_exp_1,fh.包装数 from;
abcd,fh,temp,temp_包装数 where val(abcd.发货号)=VAL(fh.编号) and VAL(temp.编号)=VAL(fh.编号)
*******3步
select 发货清单
n=1
go top
do while .t.
replace 编号 with ALLTRIM(STR(n))
if eof()
exit
else
skip
n=n+1
endif
enddo
do form d:\包装设计系统\发货清单aaa.scx
5 楼
绝缘子2009 [专家分:50] 发布于 2009-06-08 21:38:00
先贴表的内容在说问题
发货号 编号 序号 图号 名称 数量 材料 单重 总重 备注
1 1 3 14JS313-1 管子Φ42X6 6 20G 7.87 47.2
1 2 4 14JS313-2 管子Φ42X6 46 20G 8.16 375
2 3 5 14JS313-3 管子Φ42X6 8 20G 20.3 162
2 4 6 14JS313-4 管子Φ42X6 44 20G 20.7 911
3 7 14JS313-5-0 管件 3 装配件 39.1 117
5 7/1 14JS313-5-0 管子Φ42?;L=7310.5 3 20G 38.9 117
6 7/2 4JS313-5-1 挂耳板δ10;№1 3 1Cr6Si2Mo 0.18 0.54
1、从上边的代码可以看出当发货号为“1”,发货清单表上的零件清单号为编号1和2内容为第一行和第二行当发货号为“3”时,我要做成零件清单号为5和6内容为第五行,请问如何返回5和6的编号?
2、当包装的数量>1时,发货清单表上的单重写为2×b表.总重/2,总重写为2×b表.总重/2+a表.增重,2是个不定值(反正是>1的时候),请问如何实现呢?
现在就遇到这2个问题解决不了,请老师们赐教,小弟不胜感激!!!
6 楼
绝缘子2009 [专家分:50] 发布于 2009-06-09 20:52:00
没人能搞定吗?
jinlonggao老师和sywzs老师没在吗,帮我看看啊!
小弟先谢谢了!!!
7 楼
cbl518 [专家分:57140] 发布于 2009-06-09 21:09:00
无知!
8 楼
qjbzjp [专家分:8830] 发布于 2009-06-09 22:46:00
反思……
9 楼
sywzs [专家分:5650] 发布于 2009-06-10 04:48:00
你大概是想通过A表和B表生成C表吧,最好能把三个表的数据结构(包括数据类型)说清楚。
从你的程序上看,觉得有点乱,怎么又出现了“增重”、“包装数”等,发货号和标记号是什么关系,又是根据什么填写的数据?B标有哪些数据?能不能把这几个问题说明白一点?
10 楼
绝缘子2009 [专家分:50] 发布于 2009-06-10 20:43:00
可能是 我表达的不清楚吧?
生成c表的内容是:
编号 零件清单号 图号 名称 单重 总重 包装形式 包装图号 发货号 备注
1 1 14JS313-1 管子Φ42X6 47.2 47.2+增重 xxx 14JS313B 1/3
2 2 14JS313-2 管子Φ42X6 375 375+增重 xxx 14JS313B 1/3
3 3 14JS313-3 管子Φ42X6 162 162+增重 xxx 14JS313B 2/3
4 4 14JS313-4 管子Φ42X6 911 911+增重 xxx 14JS313B 2/3
5 5~6 14JS313-5-0 管件 117 117+增重 xxx 14JS313B 3/3
这个是我要生成的c表内容
给位老大再帮忙看看吧,我们领导要求我这个月底完成这个项目,现在无法交差啊!!急
另外我把源文件发给sywzs老师,请老师查阅下,给我解决下这些问题!!
我来回复