标题:能COPY到临时表么(新手求指导)
只看楼主
dhy793202
Rank: 1
等 级:新手上路
帖 子:29
专家分:4
注 册:2013-3-17
结帖率:75%
已结贴  问题点数:20 回复次数:13 
能COPY到临时表么(新手求指导)
现在是有A表和B表,对其A表每一条记录进行扫描,看其每一条记录是否符合B表对应字段的特征,如果符合则把B表对应该记录的某个字段值赋予A表,并把A表中的这条则COPY出来,然后最后形成一个符合条件的C表
我现在是按A表的结构建立了一个C表
对A表SCAN,分析每一条是否符合B表,如果符合则拷贝这条记录到一个临时表TEMP,然后追加到C表后面

SELECT A表
SCAN
   SELECT B表
   SCAN
     IF 满足某条件
     COPY TO 临时表 next 1
     SELECT C表
     append from 临时表
     go bottom  
     REPLACE C表.暂定代码 WITH B表.暂定代码
     ENDIF
   SELECT B表
   ENDSCAN
SELECT A表
ENDSCAN

现在的问题是COPY TO 似乎不支持临时表,用COPY TO CURSOR提示错误
之前有考虑用数组COPY TO ARRAY AA next 1  ,但是数组似乎不支持备注型字段?
求解答,求优化

附件
跑导航.zip (68.3 KB)


一个库是“总库”,一个库是“导航库”,还有一个是我自己东拼西凑弄出来的PRG
目的是让总库里的每一条跑出导航库的“暂定代码”
其中要满足的条件是一下字段的关系
“总库.分类号”包含“导航库.分类号” AND “总库.分类号”不包含“导航库.分类号不含” AND “总库.篇名”包含“导航库.关键词” and “总库.篇名”不包含“导航库.关键词不含”
另外字段“总库.分类号”分类是多个,用‘;’隔开,里面每一个分类号都需要单独和导航库进行对应,
大概的意思就是,在总库里每条记录给的几个较为详细的分类号,而在导航库里是一些较粗放的栏目,需要把这条记录规整到导航库里对应的栏目下。

另外,对于已经分到导航库三级代码的,不必再给这个三级代码上面的二级代码

[ 本帖最后由 dhy793202 于 2013-6-27 18:40 编辑 ]
搜索更多相关主题的帖子: bottom 记录 
2013-06-27 16:43
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:10 
在VFP6中,数据库和数据表是两个不同的概念,数据库中可以包含数据表。
看其每一条记录是否符合B库对应字段的特征,如果符合则把B库对应该记录的某个字段值赋予A库
问题1:对应字段的特征是什么意思
问题2:字段值赋予A库。这是什么意思

坚守VFP最后的阵地
2013-06-27 17:02
dhy793202
Rank: 1
等 级:新手上路
帖 子:29
专家分:4
注 册:2013-3-17
得分:0 
回复 2楼 sdta
全都是表,我修改一下,字段是表里的字段
2013-06-27 17:10
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:10 
应该是 A表B表C表
2013-06-27 17:12
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
不需要用COPY 命令,可以用SELECT-SQL命令生成临时表
每扫描一条记录,将A表符合B表条件的记录加删除标记,扫描结束后,去除删除标记
程序代码:
SELECT A表
SCAN
   SELECT B表
   SCAN
      IF 满足某条件
         REPLACE A.字段 WITH B.字段 IN A表
      ENDIF
   ENDSCAN
ENDSCAN
SELECT * FROM A表 WHERE DELETED()=.T. INTO CURSOR C表 &&生成临时表C表
SELECT A表
RECALL ALL
SELECT C表
BROWSE


[ 本帖最后由 sdta 于 2013-6-27 17:22 编辑 ]

坚守VFP最后的阵地
2013-06-27 17:21
dhy793202
Rank: 1
等 级:新手上路
帖 子:29
专家分:4
注 册:2013-3-17
得分:0 
回复 5楼 sdta
主要是中间满足条件太复杂,用了四个变量,用SELECT命令弄起来逻辑太乱
2013-06-27 17:33
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
上传数据表,大家一起帮你看看
说明符合的条件

坚守VFP最后的阵地
2013-06-27 17:42
dhy793202
Rank: 1
等 级:新手上路
帖 子:29
专家分:4
注 册:2013-3-17
得分:0 
回复 7楼 sdta
弄上来了,请帮忙看看,我自己编的一段也弄上去了
2013-06-27 18:21
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
“总库.分类号”包含“导航库.分类号” AND “总库.分类号”不包含“导航库.分类号不含” AND “总库.篇名”包含“导航库.关键词” and “总库.篇名”不包含“导航库.关键词不含”
这个条件对吗

坚守VFP最后的阵地
2013-06-27 18:47
dhy793202
Rank: 1
等 级:新手上路
帖 子:29
专家分:4
注 册:2013-3-17
得分:0 
回复 9楼 sdta
我没有把着个意思写反吧
比如总库里某记录分类号字段里的值为O112;O225.4  && 此记录为一篇文献
导航库里有一个分类号字段为O11的记录,那么总库表里的这条记录需要打一个标识(导航库里暂定代码字段),表示它从属于O11这个标识,同时如果导航库分类号字段里还有O22这个记录,那么总库里这条还需要打上导航库里O22对应的标识(即导航库这条记录的暂定代码字段值)

做个比喻,总库是一个详细的商品标表,每个商品带有自己编制的较为详细的编码,导航库是一个商品导航(比如服装类、家电类、图书类),导航库里取商品只从这些编码的前几位抽取商品,目的是要把总库里的商品规整到这个商品导航下
2013-06-27 20:42



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




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

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