vfp如何列出Access数据库结构
请各位高手指导vfp如何列出Access数据库结构的方法
* 连接Access并尝试读取指定表的字段属性。 local rst, con, fld, i,ii local lcMDBConc As String, bmk As String && 连接字串,源文件名 LOCAL cTable as String cTable="cwgs" && 表的名字。 bmk = "D:\产销存\档案.mdb" lcMDBConc = "Provider=Microsoft.jet.oledb.4.0;Data source=" con = CreateObject("adodb.connection") rst = CreateObject("adodb.RecordSet") con.Open( lcMDBConc + bmk) rst.open ("select top 1 * from " + cTable + " where 1=1 " ,con ,1,1,1) STORE 0 TO i,ii CREATE CURSOR struDBF (field_name c(200) ,Vfp_type c (1) ,field_len N (4) ,field_dig N (1),allowNull l ,fType i ,FDescript c(30)) * 字段含义:字段名称、对应的VFP类型、字段长度、小数位长度、是否允许NULL、Ado字段类型、Ado字段类型描述 For Each fld In rst.Fields INSERT INTO struDBF (field_name ,field_LEN ,fType ,FDescript ) ; VALUES ( fld.NAME , fld.DefinedSize ,fld.TYPE ,transfieldtype(fld.TYPE) ) && Type是一个数值, NEXT UPDATE STRUDBF SET STRUDBF.Vfp_type = "L" WHERE STRUDBF.fType=11 && 逻辑型 UPDATE STRUDBF SET STRUDBF.Vfp_type = "T" WHERE STRUDBF.fType=7 * [color=#0000FF]UPDATE STRUDBF SET STRUDBF.Vfp_type = "D" WHERE STRUDBF.fType=7 && D、T 都是7,T优先[/color] UPDATE STRUDBF SET STRUDBF.Vfp_type = "Y" WHERE STRUDBF.fType=6 && Y 货币型 UPDATE STRUDBF SET STRUDBF.Vfp_type = "N" WHERE STRUDBF.fType=5 UPDATE STRUDBF SET STRUDBF.Vfp_type = "V" WHERE STRUDBF.fType=72 && GUID UPDATE STRUDBF SET STRUDBF.Vfp_type = "V" WHERE STRUDBF.fType=203 && LongVarWChar UPDATE STRUDBF SET STRUDBF.Vfp_type = "I" WHERE STRUDBF.fType=19 && UnsignedInt UPDATE STRUDBF SET STRUDBF.Vfp_type = "V" WHERE STRUDBF.fType=202 OR EMPTY(STRUDBF.Vfp_type) && 不清楚的类型,一律用V型,这样兼容性最好。 rst.Close con.Close MESSAGEBOX("访问Access,并尝试读取指定表的字段属性,完毕。")
[此贴子已经被作者于2016-11-16 16:58编辑过]