| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 739 人关注过本帖
标题:请教:如何从原表中记录建立新表,并将原表记录作为新表字段名?
只看楼主 加入收藏
wpyingchneg
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-10-16
结帖率:0
收藏
已结贴  问题点数:10 回复次数:5 
请教:如何从原表中记录建立新表,并将原表记录作为新表字段名?
各位大师,我想用一个表的记录来建立一个新表,字段名为原表的某字段记录,以下是代码,但运行总说语法不对,请问该怎么改?能实现吗?急啊,谢谢大家了!!对了,是vfp9.0的
程序代码:
USE data\tzfsk.dbf IN 0 ALIAS  特征分数库
DIMENSION 数组a(RECCOUNT(),2)
i=1
scan
   数组a(i,1)=tzfs
    数组a(i,2)=ALLTRIM(bz)
   IF i=1
    zd=数组a(i,2)+" c10"
    ELSE
    zd=zd+","+数组a(i,2)+" c10"
   ENDIF
   SELECT  特征分数库
i=i+1
ENDSCAN
cREATE TABLE data\tjk.dbf (xz c10,&zd)

tzfsk.rar (504 Bytes)


[ 本帖最后由 wpyingchneg 于 2013-10-16 22:00 编辑 ]
搜索更多相关主题的帖子: 记录 如何 
2013-10-16 21:54
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:3 
字段名命名规则其中的一条是:字段名不能以数字开头,其中不能有小数点与≥。你的错误可能就属于这种情况。因此在生成字段结构前要去掉这些符号。可以参考下列代码生成表结构:
SELECT 'FS'+CHRTRAN(STRTRAN(BZ,[],[]),[.],[]) FIELD_NAME,'N' AS FIELD_TYPE,5 FIELD_LEN,1 FIELD_DEC FROM TZFSK INTO ARRAY ABZ
CREATE CURSOR NEWTABLE FROM ARRAY ABZ
BROWSE


坚守VFP最后的阵地
2013-10-16 22:43
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:3 
注意看字段命名规则
2013-10-17 00:42
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:3 
错误主要集中在“CREATE TABLE data\tjk.dbf (xz c10,&zd)”这条命令:注意红色部分,如果你是建立一个新字段,并且把它类型设成字符型,长度为10的话,红色部分应为“C(10)”,而不是现在的样子。zd变量中也有拖在后面的“c10”,与之同理。
因为时间关系,我没有仔细分析过你的代码,但一眼扫过去发现了这个问题。
其实,如果你想把表文件中的某些字段连带记录全部复制成一个新表,可以用以下命令:
USE 源表
COPY TO 新表 FIELDS 字段名1,字段名2, ...
如果想复制后再加一个新字段,可在上述两条命令后加入:ALTER TABLE 新表 ADD 新字段名 类型(长度,小数位)。其中,小数位可视情况省略;如果新字段是日期型、逻辑型、货币型等固定长度的类型,可以省略整个括号中的内容,即,命令写成:ALTER TABLE 新表 ADD 新字段名 就行了。但是,如果你要把新字段作为新表的第一个字段,就要重新组织一下代码。
2013-10-17 08:47
wpyingcheng
Rank: 1
等 级:新手上路
帖 子:1
专家分:3
注 册:2012-10-29
收藏
得分:3 
回复 2楼 sdta
确实如版主所说,就是字段名命名的问题,不过
SELECT 'FS'+CHRTRAN(STRTRAN(BZ,[],[]),[.],[]) FIELD_NAME,'N' AS FIELD_TYPE,5 FIELD_LEN,1 FIELD_DEC FROM TZFSK INTO ARRAY ABZ
  这句有点看不懂,能解释下吗?谢谢大家的帮助

[ 本帖最后由 wpyingcheng 于 2013-10-17 10:50 编辑 ]
2013-10-17 10:49
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用wpyingcheng在2013-10-17 10:49:13的发言:

确实如版主所说,就是字段名命名的问题,不过
SELECT 'FS'+CHRTRAN(STRTRAN(BZ,[≥],[]),[.],[]) FIELD_NAME,'N' AS FIELD_TYPE,5 FIELD_LEN,1 FIELD_DEC FROM TZFSK INTO ARRAY ABZ  这句有点看不懂,能解释下吗?谢谢大家的帮助
代码中用到的函数,VFP帮助文件中有详细的说明,自己研究吧。
函数CHRTRAN()、STRTRAN()分别将'.'、'≥'替换为空。

[ 本帖最后由 sdta 于 2013-10-17 12:48 编辑 ]

坚守VFP最后的阵地
2013-10-17 12:46
快速回复:请教:如何从原表中记录建立新表,并将原表记录作为新表字段名?
数据加载中...
 
   



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

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