发布网友 发布时间:2022-04-12 14:56
共2个回答
懂视网 时间:2022-04-12 19:17
可能很多在使用access的朋友都没有打开过Access的系统内置表,这篇文章可以帮助大家简单了解下系统内置表。 程序代码 %sqlcmd=select name from [msysobjects] where type=1 and flags=0% 用这条 语句 就可以取得Access数据库中 所有 表,但需要设置读取MSys
可能很多在使用access的朋友都没有打开过Access的系统内置表,这篇文章可以帮助大家简单了解下系统内置表。
程序代码
<%sqlcmd="select name from [msysobjects] where type=1 and flags=0"%>
用这条语句就可以取得Access数据库中所有表,但需要设置读取MSysObjects表的权限,否则会出现“不能读取记录;在 'MSysObjects'上没有读取数据权限”的错误提示。
office 2003设置:工具 -> 选项 -> 视图 -> 勾选隐藏对象、系统对象。工具 -> 安全 -> 用户与组的权限 ,在对象名称中选定 MSysObjects ,然后权限中设置其读取权限。
office 2007设置:单击左上角图标 -> Access选项 -> 当前数据库 -> 导航 -> 导航选项 -> 勾选显示隐藏对象,显示系统对象。数据库工具选项卡 -> 用户和权限 -> 用户与组权限,对象类型选择表,对象名称选定MSysObjects,然后勾选“读取数据”权限
还有一种方法可以实现读取Access数据库中所有表:
程序代码
<%
set rs=conn.openSchema(20)'返回包含模式信息的 Recordset 对象
rs.filter="table_type='table'"'筛选table_type为table类型的数据表,其他类型为系统内置表
do while not rs.eof
response.write(rs("TABLE_NAME"))'用recordset记录集获取列名为table_name的数据
response.Write("
")
rs.movenext:loop
%>
热心网友 时间:2022-04-12 16:25
这个还不容易创建一个查询然后输出不就可以了,