Access 查询表名权限不够,在 'MSYSOBJECTS' 上没有读取数据权限

在尝试使用SQL语句`SELECT name FROM MSysObjects WHERE type=1 AND flags=0`获取Access数据库所有表名时,遇到权限不足的问题。尽管GetLastError()显示没有权限错误,但在Access中找不到工具菜单来修改权限。文章提到了一种替代方法来解决这个问题,参考自https://blog.youkuaiyun.com/itmes/article/details/5213087。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用查看所有表名语句:
select    name    from    MSysObjects    where    type=1    and    flags=0

并不成功,用GetLastError();查看是没有权限问题:

网上有修改mdb权限的方法,不过我的Access和一小部分网友一样,找不到【工具】这一栏

后面找到另一种方式:

void GetTableLists(const CString &strPath)

{

    _ConnectionPtr m_pConnection;
    _RecordsetPtr m_pRecordset;
    HRESULT hr;
    CStringArray  dbtables; 
    try
    {
        CoInitialize(NULL);
        hr = m_pConnection.CreateInstance(__uuidof(Connection));
        hr 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值