| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 803 人关注过本帖
标题:请教:判断文件夹下多个dbf文件并自动追加
只看楼主 加入收藏
chychychy
Rank: 2
等 级:论坛游民
帖 子:302
专家分:98
注 册:2015-4-18
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:16 
请教:判断文件夹下多个dbf文件并自动追加
2022ys.zip (46.65 KB)

文件夹下有多个相同结构dbf文件(有时几十个),想将他们合并到一个文件中,尝试了一段小程序但错误,请高手指教。

图片附件: 游客没有浏览图片的权限,请 登录注册


图片附件: 游客没有浏览图片的权限,请 登录注册

同时请教,
1.库结构相同,如何自动判断建立空白库
2.文件夹下若有子目录(比如6、7),如何穿透追加子文件夹下dbf文件

[此贴子已经被作者于2023-9-18 17:00编辑过]

搜索更多相关主题的帖子: 多个 自动 追加 文件 dbf 
2023-09-18 16:20
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1744
专家分:3333
注 册:2012-2-29
收藏
得分:10 
回复 楼主 chychychy
加上括号即可
图片附件: 游客没有浏览图片的权限,请 登录注册

也可以试一试:
图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
clear
close databases

create cursor  hb (xxmc c(40),xm c(20),xjh c(23),yycj c(6),mscj c(6))  &&&建立一个空白表

path=getdir()
lnfiles=adir(afile,path+'*.dbf')
* ? lnfiles[color=#808080]&& 显示数据库数目[/color]
for ncount = 1 to alen(afile,1)  && 遍历数据库
   表名 = afile(ncount,1)  && 显示数据库名
   ? 表名
   select hb 
   append from (表名) 
endfor
select hb
browse


[此贴子已经被作者于2023-9-18 20:29编辑过]

2023-09-18 20:23
z12689
Rank: 2
等 级:论坛游民
帖 子:49
专家分:83
注 册:2021-4-15
收藏
得分:0 
2023-09-19 09:15
chychychy
Rank: 2
等 级:论坛游民
帖 子:302
专家分:98
注 册:2015-4-18
收藏
得分:0 
回复 2楼 schtg
测试正确,谢谢
2023-09-19 09:21
chychychy
Rank: 2
等 级:论坛游民
帖 子:302
专家分:98
注 册:2015-4-18
收藏
得分:0 
回复 2楼 schtg
Close Databases All
Clear
Create Cursor  hb (xxmc c(40),xm c(20),xjh c(23),yycj c(6),mscj c(6))  &&&建立一个空白表
Adir(afile,Sys(5)+Sys(2003)+'\*.dbf')        && 获取当前目录下所有dbf文件
?Alen(afile,1)
For ncount = 1 To Alen(afile,1)  && 遍历数据库
    表名 = afile(ncount,1)  && 显示数据库名
    ? 表名
    Select hb
    Append From (表名)
Endfor
Select hb
Browse
Select xxmc,Count(*) As rs Group By 1 From hb
&&&path=getdir(),这个语句在运行起来必须要放在数据所在文件夹下,否则找不到Adir(afile,Sys(5)+Sys(2003)+'\*.dbf')  &&这个可以获取当前目录下所有dbf文件,
抛砖引玉请高手再提供更好思路帮助解决
1.库结构相同,如何自动判断建立空白库
2.文件夹下若有子目录(比如6、7),如何穿透追加子文件夹下dbf文件
3.? 表名后排序及导入合并后顺序是1、10、11,2、20、21,3、4、5,如何实现1、2、3、4……10、11这样排序。(我用的笨办法改成了01、02、03)

[此贴子已经被作者于2023-9-19 18:07编辑过]

2023-09-19 17:52
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1744
专家分:3333
注 册:2012-2-29
收藏
得分:0 
回复 5楼 chychychy
1.用select * from 表名 就可以创建结构相同的空表。
2.用遍历方法就可获得当前文件夹及其以下文件夹里的文件。
3.将这些数据改为数值型,用升序排序后导入即可,最好有一些测试数据方便说明操作哈。

[此贴子已经被作者于2023-9-20 06:58编辑过]

2023-09-20 06:53
chychychy
Rank: 2
等 级:论坛游民
帖 子:302
专家分:98
注 册:2015-4-18
收藏
得分:0 
回复 6楼 schtg
2022ys.zip (78.47 KB)

图片附件: 游客没有浏览图片的权限,请 登录注册

排列不是1、2、3、4的顺序,而是10、1、2、3、的顺序了,求教
2023-09-20 11:23
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 
按01,02,03,10二位数取文件名
2023-09-20 11:34
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1744
专家分:3333
注 册:2012-2-29
收藏
得分:0 
回复 7楼 chychychy
试一试,可否?
图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
create cursor  hb (xxmc c(40),xm c(20),xjh c(23),yycj c(6),mscj c(6))  &&&建立一个空白表
adir(afile,sys(5)+sys(2003)+'\*.dbf')        && 获取当前目录下所有dbf文件
for ncount = 1 to alen(afile,1)  && 遍历数据库
   表名 = afile(ncount,1)  && 显示数据库名
   select hb 
   append from (表名) 
endfor
select *,val(xxmc) as px from hb order by px
2023-09-20 11:45
chychychy
Rank: 2
等 级:论坛游民
帖 子:302
专家分:98
注 册:2015-4-18
收藏
得分:0 
回复 9楼 schtg
谢谢!如何让获取文件名时就达到这样的效果,然后“?表名”这个地方可以看出这样排列

[此贴子已经被作者于2023-9-20 14:49编辑过]

2023-09-20 14:43
快速回复:请教:判断文件夹下多个dbf文件并自动追加
数据加载中...
 
   



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

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