标题:vfp如何列出Access数据库结构
只看楼主
厨师王德榜
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册:2013-2-16
得分:0 
这个正是你找了很久的小数位长度。

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

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

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

2016-11-18 15:10
yll148
Rank: 2
等 级:论坛游民
威 望:3
帖 子:266
专家分:15
注 册:2012-7-3
得分:0 
但是Properties('DecimalPlaces')这个DecimalPlaces对象显示不存在,用其他也没有成功。
2016-11-18 15:23
厨师王德榜
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册: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
帖 子:266
专家分:15
注 册:2012-7-3
得分:0 
可以了,多谢指点。
2016-11-19 03:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-471075-1-1.html




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

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