| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 809 人关注过本帖
标题:这段代码错在哪里了,各位帮帮忙!
只看楼主 加入收藏
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:0 
以下是引用cmy2006在2013-3-6 10:16:49的发言:

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")提示"找不到别名",请大家帮帮忙!
ac=Fcount("&lcTmpDbfName") 应该是 ac=Fcount(lcTmpDbfName) 吧

只求每天有一丁点儿的进步就可以了
2013-03-06 12:24
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
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
收藏
得分:0 
以下是引用cmy2006在2013-3-6 13:03:25的发言:

前边的问题是解决了,但我到了后边,想删除导入EXCEL时所生成的DBF文件
SELECT &mypath
DELETE FILE (mypath).DBF
这里时,只要EXCEL表名是以数字命名的,就无法删除,我看了下,如果是用alias(),提取的数字表名都变了,这是怎么回事
因为EXCEL表名是以数字命名的 ,而 数字不能作为工作区别名,系统自动为你别起别名了


SELECT &mypath
DELETE FILE (mypath).DBF
改成
delete_name=dbf(lcTmpDbfName)
use in lcTmpDbfName
delete file (delete_name)
2013-03-06 13:55
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
收藏
得分:0 
修改一下

SELECT &mypath
DELETE FILE (mypath).DBF
改成
delete_name=dbf(lcTmpDbfName)
use in (lcTmpDbfName)
delete file (delete_name)
2013-03-06 13:59
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
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
收藏
得分:0 
那是你之前关了,请好好检查一下
请注意那句  
USE bsc表 EXCLUSIVE
应改成
USE bsc表 EXCLUSIVE in 0
2013-03-06 14:26
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
收藏
得分:0 
最好把你修改后的代码再发上来看看
2013-03-06 14:28
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
快速回复:这段代码错在哪里了,各位帮帮忙!
数据加载中...
 
   



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

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