精易论坛

标题: Access 数据库 怎么获取数据库里面有那些表 [打印本页]

作者: xiaolonghu01    时间: 2024-12-24 10:20
标题: Access 数据库 怎么获取数据库里面有那些表
Access 数据库里面的这些表,用易语言应该这么写代码。求指教

作者: afu45    时间: 2024-12-24 10:20
那就用对象

  
子程序名返回值类型公开备 注
取Access表名 支持mdb及accdb,取表名到数组
参数名类 型参考可空数组备 注
文件名文本型
密码文本型
表名数组文本型
变量名类 型静态数组备 注
mycat对象 
Tables对象 
connstr文本型 
i整数型 
n整数型 
表名文本型 
清除数组 (表名数组)
如果真 (是否为空 (密码))
密码 = “”
mycat.创建 (“ADOX.Catalog”, )
如果真 (到小写 (取文本右边 (文件名, 3)) = “mdb”)
connstr = “Provider=MicroSoft.Jet.OLEDB.4.0;Data Source=” + 文件名 + “;Jet OLEDB:DataBase Password=” + 密码 + “;Persist Security Info=False”
如果真 (到小写 (取文本右边 (文件名, 5)) = “accdb”)
connstr = “Provider=Microsoft.ACE.OLEDB.12.0;Data Source=” + 文件名 + “;Jet OLEDB:Database Password=” + 密码 + “;”

mycat.写属性 (“ActiveConnection”, connstr)
Tables = mycat.读对象型属性 (“Tables”, )
n = Tables.读数值属性 (“Count”, )
计次循环首 (n, i)
表名 = Tables.读对象型属性 (“Item”, i - 1).读文本属性 (“Name”, )  ' 序号从0开始
如果真 (取文本左边 (表名, 4)“MSys”)  ' 过虑掉系统表名
调试输出 (表名)
加入成员 (表名数组, 表名)

计次循环尾 ()
Tables.清除 ()
mycat.清除 ()


i支持库列表   支持库注释   
spec特殊功能支持库

作者: afu45    时间: 2024-12-24 10:25
[SQL] 纯文本查看 复制代码
select name from MSysObjects where type=1 and flags=0

作者: xiaolonghu01    时间: 2024-12-24 10:29
afu45 发表于 2024-12-24 10:25

没效果,测试了
作者: xiaolonghu01    时间: 2024-12-24 10:30

获取不到





欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4