设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1856|回复: 3
打印 上一主题 下一主题

[Access本身] MSysObjects中取得表名

[复制链接]
跳转到指定楼层
1#
发表于 2007-10-27 21:05:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何从MSysObjects系统表中获得所有数据库表名
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2007-10-27 21:34:25 | 只看该作者
SELECT MSysObjects.Name
FROM MSysObjects
WHERE (((MSysObjects.ParentId)=251658241) AND ((MSysObjects.Type)=1) AND ((Left([MSysObjects].[Name],4))<>"MSys"));
3#
 楼主| 发表于 2007-10-28 09:37:35 | 只看该作者
谢谢andymark,我将SQL用在如下(VB),被告知在MSysObjects上没有读取数据权限,如何解决此权限问题
    Dim Rs_Table As New ADODB.Recordset
    Rs_Table.CursorLocation = adUseClient
    Rs_Table.Open "SELECT MSysObjects.Name FROM MSysObjects WHERE MSysObjects.ParentId=251658241" & _
            "AND MSysObjects.Type=1 AND Left([MSysObjects].[Name],4)<> 'MSys'", _
             myConn, adOpenDynamic, adLockReadOnly
当然读取表名可以用OpenSchema(adSchemaTables)方法
4#
 楼主| 发表于 2007-10-28 16:32:27 | 只看该作者
在access中,工具 -> 安全 -> 用户与组的权限,在对象名称中选定MSysObjects ,然后对权限“读取数据”打勾,问题解决。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-12-2 12:49 , Processed in 0.359016 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表