我试图使用从另一个堆栈溢出问题中找到的关于这样做的代码从访问数据库文件中读取表名。代码如下:
SELECT MSysObjects.Name AS table_name
FROM MSysObjects
WHERE (((Left([Name], 1)) <> "~") '
AND ((Left([Name], 4)) <> "MSys")
AND ((MSysObjects.Type) In (1, 4, 6)))
ORDER BY MSysObjects.Name
然而,当我运行此操作时,我收到错误Record(s) cannot be read; no read permissions on 'MSysObjects'
,经过一些研究后,我找到了一种方法来授予所需的读取权限。
我添加了'GRANT SELECT ON MSysObjects TO Admin'
,我现在收到错误:Cannot open the microsoft jet engine workgroup information file.
,我发现的有关此错误的每篇文章都指的是卡巴斯基的一个问题(这台计算机并非如此)运行)或System.mdw文件的问题,这似乎不是问题,因为运行任何其他命令工作得很好。
如何解决这个问题,以便我可以阅读表名?
答案 0 :(得分:0)
您是否对VB6安装进行了SP6更新? VB6必须打开MS Access 2000或更高版本的MDB&#39>