请问如何用查询语句获取Access中所有表的表名

hahahawk 2003-04-24 12:38:47
在sybase中只要用select * from sysobjects where type='U'就可以了。
access中如何做到呢?
...全文
484 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zsgzsgzsg 2003-04-24
  • 打赏
  • 举报
回复
打开access数据库:
1、工具-->选项-->视图-->将"系统对象"打上勾。
2、工具-->安全-->用户与组安全-->选定表msysobjects,设定权限。
hahahawk 2003-04-24
  • 打赏
  • 举报
回复
谢谢各位。我用access软件打开mdb的时候,可以用查询里面输入你们说的语句
select name from msysobjects获取表名。
但是当我在asp.net网页中使用此查询sql语句的时候,报错:
不能读取记录;在 'msysobjects' 上没有读取数据权限。
但是使用其它sql语句查询库中普通表数据没有问题。
我的连结字符串如下:
string strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("\\data\\webtxt.mdb") + ";Jet OLEDB:Database Password=txttest;User ID=Admin;Jet OLEDB:System database=;";
其中已经是admin用户了,为何还会提示没有访问msysobjects的权限呢?
望各位指教
victorycyz 2003-04-24
  • 打赏
  • 举报
回复
SELECT MSysObjects.Name
FROM MSysObjects
WHERE (((MSysObjects.Flags)=0) AND ((MSysObjects.Type)=1))
zhengjialon 2003-04-24
  • 打赏
  • 举报
回复
Dim obj As AccessObject, dbs As Object
Dim strList As String
Set dbs = Application.CurrentData '建立数据库对象记录集
strList = ""
For Each obj In dbs.AllTables '遍历数据库中的所有表
If Left(obj.Name, 4) <> "Msys" Then '剔除系统数据表
strList = strList & obj.Name & ";" '合成导入的表名组合框的行来源中的数据
End If
Next obj
Me!导入的表名.RowSource = strList '赋值给组合框

将以上程序放置在窗体的“成为当前”事件中,将“导入的表名”组合框的‘行来源类型’
设为‘值列表’
changechange 2003-04-24
  • 打赏
  • 举报
回复
select [Name] from MSysObjects where type=1
longchaohui 2003-04-24
  • 打赏
  • 举报
回复
select Name from MSysObjects where type=1

7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧