| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 809 人关注过本帖
标题:这段代码错在哪里了,各位帮帮忙!
取消只看楼主 加入收藏
cmy2006
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2013-2-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
这段代码错在哪里了,各位帮帮忙!
程序代码:
set safety off
public mypath
mypath=""
mypath=getfile("xls")
if len(alltrim(mypath))=0
  messagebox("你未选择任何表文件!",48,"提示")

 ELSE
  Import From (mypath) Type xls
lcTmpDbfName=Juststem(Dbf())
ac=Fcount("&lcTmpDbfName")
For m.lnI=1 To ac
  lcStr="Alter Table "+ "&lcTmpDbfName Rename Column "+Field(m.lnI)+" To "+Evaluate(Field(m.lnI))
  &lcStr.
  ENDFOR
USE bsc表 EXCLUSIVE
ZAP
APPEND FROM "&lcTmpDbfName"
GO TOP
DELETE
PACK
SELECT &mypath
DELETE FILE (mypath).DBF
    messagebox("数据导入成功!",48,"提示")

 ENDIF
怎么总是运行到ac=Fcount("&lcTmpDbfName")提示"找不到别名",请大家帮帮忙!
搜索更多相关主题的帖子: color 
2013-03-06 10:16
cmy2006
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2013-2-28
收藏
得分:0 
那是怎么回事,总是运行到ac=Fcount("&lcTmpDbfName")就告错,总是找不到别名
2013-03-06 10:36
cmy2006
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2013-2-28
收藏
得分:0 
这里改成了alias()是可以取到文件名,但后边的APPEND就没法运行了!
2013-03-06 11:29
cmy2006
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2013-2-28
收藏
得分:0 
前边的问题是解决了,但我到了后边,想删除导入EXCEL时所生成的DBF文件
SELECT &mypath
DELETE FILE (mypath).DBF
这里时,只要EXCEL表名是以数字命名的,就无法删除,我看了下,如果是用alias(),提取的数字表名都变了,这是怎么回事
2013-03-06 13:03
cmy2006
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2013-2-28
收藏
得分:0 
回复 11楼 wengjl
如果用ac=Fcount(lcTmpDbfName),也还是"找不到别名"
2013-03-06 13:05
cmy2006
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2013-2-28
收藏
得分:0 
以下是引用kiff在2013-3-6 13:59:06的发言:

修改一下

SELECT &mypath
DELETE FILE (mypath).DBF
改成
delete_name=dbf(lcTmpDbfName)
use in (lcTmpDbfName)
delete file (delete_name)
到了delete_name=dbf(lcTmpDbfName)一样提示"找不到别名"a""

[ 本帖最后由 cmy2006 于 2013-3-6 14:24 编辑 ]
2013-03-06 14:21
cmy2006
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2013-2-28
收藏
得分:0 
还有就是用APPEND FROM dbf(lcTmpDbfName)根本就没有导入数据
2013-03-06 14:29
cmy2006
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2013-2-28
收藏
得分:0 
程序代码:
public mypath
mypath=""
mypath=getfile("xls")
if len(alltrim(mypath))=0

  messagebox("你未选择任何表文件!",48,"提示")


 ELSE
  Import From (mypath) Type xls
lcTmpDbfName=ALIAS()
ac=Fcount(lcTmpDbfName)
For m.lnI=1 To ac
  lcStr="Alter Table "+ "&lcTmpDbfName Rename Column "+Field(m.lnI)+" To "+Evaluate(Field(m.lnI))
  &lcStr.
  ENDFOR
USE d:\vfp9\111\bsc侧 EXCLUSIVE
ZAP
APPEND FROM dbf(lcTmpDbfName)
GO TOP
DELETE
PACK
delete_name=dbf(lcTmpDbfName)
use in (delete_name)
delete file dbf(delete_name)
    messagebox("数据导入成功!",48,"提示")

 ENDIF
2013-03-06 14:31
cmy2006
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2013-2-28
收藏
得分:0 
回复 21楼 kiff
程序代码:
public mypath
mypath=""
mypath=getfile("xls")
if len(alltrim(mypath))=0

  messagebox("你未选择任何表文件!",48,"提示")


 ELSE
  Import From (mypath) Type xls
lcTmpDbfName=ALIAS()
ac=Fcount(lcTmpDbfName)
For m.lnI=1 To ac
  lcStr="Alter Table "+ "&lcTmpDbfName Rename Column "+Field(m.lnI)+" To "+Evaluate(Field(m.lnI))
  &lcStr.
  ENDFOR
USE bsc侧 EXCLUSIVE IN 0
zap
APPEND FROM DBF(lcTmpDbfName)
GO TOP
DELETE
PACK
delete_name=dbf(lcTmpDbfName)
use in (lcTmpDbfName)
delete file (delete_name)
    messagebox("数据导入成功!",48,"提示")

 ENDIF
为什么到了ZAP的时候,却是删的是IMPORT所生成的DBF表呢
2013-03-06 14:57
cmy2006
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2013-2-28
收藏
得分:0 
问题已经解决,感谢KIFF和版主
2013-03-06 15:32
快速回复:这段代码错在哪里了,各位帮帮忙!
数据加载中...
 
   



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

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