五个月宝宝一天大便6次:请问如何用查询语句获取Access中所有表的表名

来源:百度文库 编辑:偶看新闻 时间:2024/05/02 06:33:34
select   Name   from   MSysObjects   where   type=1
----------------------------------------------------------------------------------------------------------------------
select   [Name]   from   MSysObjects   where   type=1
-----------------------------------------------------------------------------------------------------------------------
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   '赋值给组合框

将以上程序放置在窗体的“成为当前”事件中,将“导入的表名”组合框的‘行来源类型’
设为‘值列表’
-------------------------------------------------------------------------------------------------------------------------

SELECT   MSysObjects.Name
FROM   MSysObjects
WHERE   (((MSysObjects.Flags)=0)   AND   ((MSysObjects.Type)=1))

------------------------------------------------------------------------------------------------------------------------

谢谢各位。我用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的权限呢?
望各位指教

-------------------------------------------------------------------------------------------------------------------------------------------------

打开access数据库:
1、工具--> 选项--> 视图--> 将 "系统对象 "打上勾。
2、工具--> 安全--> 用户与组安全--> 选定表msysobjects,设定权限。