| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3284 人关注过本帖
标题:vfp如何列出Access数据库结构
只看楼主 加入收藏
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:989
专家分:4966
注 册:2013-2-16
收藏
得分:0 
这个正是你找了很久的小数位长度。

你的代码,用OLE方式,把Access作为一个对象打开,这个思路也是可以的。
但是,我试过,当打开一个比较大的mdb 时,机器的反应时间比较长,因为我们只是获取他的结构信息,而OLE方式,要把整个数据库都打开,这样运行的效率方面会差一些。

不过,只要你数据库不大,或者对效率方面不是很迫切,只要能够达到目的,也是可行的。

[此贴子已经被作者于2016-11-18 15:14编辑过]

2016-11-18 15:10
yll148
Rank: 2
等 级:论坛游民
威 望:3
帖 子:268
专家分:15
注 册:2012-7-3
收藏
得分:0 
但是Properties('DecimalPlaces')这个DecimalPlaces对象显示不存在,用其他也没有成功。
2016-11-18 15:23
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:989
专家分:4966
注 册:2013-2-16
收藏
得分:0 
不是不存在,而在只在某些字段类型中,获取该值才有意义,其它类型的列,试图获取fld.ProPerties("DecimalPlaces").values 就会报错,
为此,你有语句已经作了限制,但是限制得不准确。试着改为:
if inlist(lnFieldType,7,5,6,20)
  lnValue = oo.Currentdb.TableDefs(i).Fields(x).Properties('DecimalPlaces').Value
  replace 小数位 with icase(lnValue = 255,'自动',Alltrim(str(lnValue)))
endif
你再试试?应该可以了。
2016-11-18 22:33
yll148
Rank: 2
等 级:论坛游民
威 望:3
帖 子:268
专家分:15
注 册:2012-7-3
收藏
得分:0 
可以了,多谢指点。
2016-11-19 03:03
快速回复:vfp如何列出Access数据库结构
数据加载中...
 
   



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

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