| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1048 人关注过本帖
标题:用此命令CREATE dbf xktjk (bmd c(5),dj c(1),km c(2),rs n(4))后提示xktjk ...
只看楼主 加入收藏
cxzbzgz
Rank: 8Rank: 8
来 自:云南楚雄
等 级:贵宾
威 望:24
帖 子:297
专家分:808
注 册:2012-6-15
收藏
得分:0 
xkcjk.dbf的库结构可以公布一下吗?

学习交流VFP,QQ:248561326。
2015-12-01 10:37
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:5 
以下是引用sylknb在2015-12-1 10:34:06的发言:

追加数据是在循环中,否则每一次循环要建立一个库,再追加数据,肯定是不行的。
我预先放入一只空的xktjk,就不会出现提示,难道在代码中空建一只空库就出现找不到xktjk.dbf?

在CREATE dbf xktjk ......跟着就
SELECT xktjk
APPEND FROM ......
如果你这样测试过无问题,说明问题与这几句无关,就要去找引起问题其他因素了。
2015-12-01 10:40
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
以下是引用wp231957在2015-12-1 10:37:10的发言:

xkcjk
xktjk
你的代码中出现了2个形似的表名称  请你自己检查一下  用的地方对不对
有二只,一只是xkcjk(这只是预先建好的),另一只是xktjk想临时建立,就是临时建立的找不到?
2015-12-01 10:41
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
我测试了一下

只有以下3行代码  是没有问题的

CREATE dbf xktjk (bmd c(5),dj c(1),km c(2),rs n(4))   &&建立表
select xktjk
appe

DO IT YOURSELF !
2015-12-01 10:44
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:5 
应该不是xktjk.dbf的问题
试试这样:

    SELECT xktjk
    APPEND FROM &cstr(i)
改为:
    SELECT xktjk
    APPEND FROM DBF("&cstr(i)")
2015-12-01 10:47
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:0 
这样好看点
APPEND FROM DBF(cstr(i))
2015-12-01 10:49
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
以下是引用吹水佬在2015-12-1 10:49:26的发言:

这样好看点
APPEND FROM DBF(cstr(i))
接受你的建议。现在成功了,也不知何故?改为建立临时库也成功了。
CLEAR
SET TALK OFF  &&关闭命令显示
SET SAFE OFF
y=MESSAGEBOX("必须准备一只空库:xkcjk.dbf!如果没有,请退出重新加入!",4+64,"提醒:是否符合要求!")
IF y=6
sjk=GETFILE('DBF','选择数据库','',0,'查找省发的学考成绩库')

USE xkcjk
ZAP
APPEND FROM &sjk.

CREATE cursor xktjk  (bmd c(5),dj c(1),rs n(4),km c(2))&&建立临时库,省得代码结束后还要删除xkjtk.dbf
*CREATE dbf xktjk  (bmd c(5),dj c(1),rs n(4),km c(2))
*USE xktjk

lcs="yw,sx,yy,zz,ls,dl,wl,hx,sw,js"
nrow=Alines(cstr,Strtran(lcs,",",Chr(13)+Chr(10)))
for i=1 to nrow

select bmd,&cstr(i) as dj,count(*) as rs,'&cstr(i)' as km from xkcjk where &cstr(i)<>' 'group by bmd,&cstr(i) into table &cstr(i)

SELECT xktjk

APPEND FROM &cstr(i)
*APPEND FROM DBF(cstr(i)) &&另一种形式
endfor

SELECT bmd,KM,MAX(IIF(DJ=='A',RS,0000)) AS A,MAX(IIF(DJ=='B',RS,000)) AS B,MAX(IIF(DJ=='C',RS,0000)) AS C,MAX(IIF(DJ=='D',RS,000)) AS D,MAX(IIF(DJ=='E',RS,000)) AS E,MAX(IIF(DJ=='A',RS,0000))+MAX(IIF(DJ=='B',RS,000))+MAX(IIF(DJ=='C',RS,0000))+MAX(IIF(DJ=='D',RS,000))+MAX(IIF(DJ=='E',RS,000))AS TOT FROM  xktjk GROUP BY BMD,KM ORDER BY km,bmd INTO TABLE XKCJTJK
COPY TO XKCJTJK TYPE XL5

WAIT "学考成绩统计库二种格式(XKCJTJK.DBF与xkcjtjk.xls)生成完毕!"  WINDOW TIMEOUT 5  AT SROWS()/2,(SCOLS()/4)
ELSE
RETURN
ENDIF
CLEAR ALL
DELETE FILE  ls1.*
DELETE FILE ??.dbf
*DELETE FILE xktjk.dbf

SET TALK On
SET SAFE On
2015-12-01 11:15
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:0 
回复 17楼 sylknb
? &cstr(i)
? DBF(cstr(i))
比较一下这两句结果,再看看APPEND FROM命令的帮助说明就清楚。
2015-12-01 11:29
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
以下是引用吹水佬在2015-12-1 11:29:22的发言:

? &cstr(i)
? DBF(cstr(i))
比较一下这两句结果,再看看APPEND FROM命令的帮助说明就清楚。
?dbf(cstr(i)) 能产生带有路径的的文件名
?&cstr(i)要改为--->?'&cstr(i)'才出现不带路径的文件名
2015-12-01 13:37
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:10 
以下是引用sylknb在2015-12-1 13:37:51的发言:

?dbf(cstr(i)) 能产生带有路径的的文件名
?&cstr(i)要改为--->?'&cstr(i)'才出现不带路径的文件名

cstr(i)的值是自定义的,如果定义的文件名不完整就有问题,对CURSOR的临时文件就不好处理。
dbf()可以由表别名返回完整表文件名,对CURSOR的临时表一样对待。
2015-12-01 15:13
快速回复:用此命令CREATE dbf xktjk (bmd c(5),dj c(1),km c(2),rs n(4))后提示 ...
数据加载中...
 
   



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

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