获取access库中表的个数及表的名称

'功能:获取access库中表的个数及表的名称
'用ado怎样实现
'工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)
'----------------------------------------------------------------------------
Private Sub Form_Load()
Dim adoCN  As New ADODB.Connection  '定义数据库的连接
Dim strCnn  As New ADODB.Recordset
Dim rstSchema As New ADODB.Recordset
Dim I As Integer
  str1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Northwind.MDB;Persist Security Info=False"
  adoCN.Open str1

  Set rstSchema = adoCN.OpenSchema(adSchemaTables)

  Do Until rstSchema.EOF
    If rstSchema!TABLE_TYPE = "TABLE" Then
      out = out & "Table name: " & _
        rstSchema!TABLE_NAME & vbCr & _
        "Table type: " & rstSchema!TABLE_TYPE & vbCr
      I = I + 1
    End If
    rstSchema.MoveNext
  Loop
  MsgBox I
  rstSchema.Close

  adoCN.Close
Debug.Print out
End Sub

方法二:

Access 系统表 MsysObjects 包含了数据库对象列表。尽管未在文档中记载,你仍可通过查询它来获取你想要的。但是默认情况下无法操作系统表,必须手动设定权限收才能查询系统表。

请参考以下动画:如何获取对msysobject的操作权限

http://access911.net/eg/swf/msobject.swf

警告:不要修改任何ACCESS系统表,否则会出现不可意料的情况.

使用下列 SQL 语句来获取你想要的

查询:

SELECT MSysObjects.Name FROM MsysObjects WHERE (Left([Name],1)<>"~") AND (MSysObjects.Type)=5 ORDER BY MSysObjects.Name;

窗体:

SELECT MSysObjects.Name FROM MsysObjects WHERE (Left([Name],1)<>"~") AND (MSysObjects.Type)=-32768 ORDER BY MSysObjects.Name;

表:

SELECT MSysObjects.Name FROM MsysObjects WHERE (Left([Name],1)<>"~") AND (Left$([Name],4) <> "Msys") AND (MSysObjects.Type)=1 ORDER BY MSysObjects.Name;

报表:

SELECT MSysObjects.Name FROM MsysObjects WHERE (Left([Name],1)<>"~") AND (MSysObjects.Type)= -32764 ORDER BY MSysObjects.Name;

模块:

SELECT MSysObjects.Name FROM MsysObjects WHERE (Left([Name],1)<>"~") AND (MSysObjects.Type)= -32761 ORDER BY MSysObjects.Name;

宏:

SELECT MSysObjects.Name FROM MsysObjects WHERE (Left([Name],1)<>"~") AND (MSysObjects.Type)= -32766 ORDER BY MSysObjects.Name;

时间: 2024-10-28 15:57:31

获取access库中表的个数及表的名称的相关文章

获取access库中表的个数及表的名称[收藏]

access '功能:获取access库中表的个数及表的名称'用ado怎样实现'工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)'----------------------------------------------------------------------------Private Sub Form_Load()Dim adoCN   As New ADODB.Connection                '定义数据库的连

ASP获取ACCESS数据库表名及结构的代码_应用技巧

<html> <head> <title>获取ACCESS数据库表名_www.jb51.net</title> </head> <body style="text-align:left;margin-left:50px;font-family:'arial';font-size:12px"> <form style="padding:5px;margin:5px;margin-left:0px&qu

Access 新手来看:如何在表中达到用组合框选择备选项目的效果

access|项目 Access 新手来看:如何在表中达到用组合框选择备选项目的效果  简述:如何在表中达到用组合框选择备选项目的效果    问题: 这个范例就是ACCESS2002本身带有的ADDREESS表,其中,有个家庭成员的表,里面输入的时候,我发现输入角色这个字段时候,就可以点开一个下拉窗口,可以在下拉窗口里面选择,我搞不明白,我学着这个例子.建立了一个库.包括两个表.我现在把他们之间的关系建立起来了,其中一个表格里面的数据读取另外一个表格的记录,样子如下表1:id,gender,re

直接获取Access、SQL Server等数据库数据

access|server|数据|数据库 直接获取access.SQL Server等数据库数据Author: MixPST,Ph4nt0m Security Teamhttp://www.ph4nt0m.org 当使用SQL注入access的时候,经常会遇到密码为中文.猜不到关键字段名这样的问题.使用本技术就能够很快速的解决这样的问题.本技术最低要求有两条: 1.使用access数据库的系统存在SQL注入漏洞:mssql数据库也支持这个技术2.需要知道欲爆数据所在的表的表名以及这个表下的一个字

asp如何获取access数据库的字段说明

asp如何获取access数据库的字段说明代码如下:<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>提取access字段的说明信息</title></head><%dim table                  table = trim(request(&qu

导出Access 2007中表时问题

导出Access 2007中表时没有主键列的数据位于的SharePoint 列表数据视图 症状 您从 Microsoft Office Access 2007 表导出到 MicrosoftWindowsSharePointServices 列表. 当进行此, 原始数据的主键列是不在列表的数据视图. 此问题: 当下列数据类型之一时 Access 2007 表的主键列的数据类型 • 数量 • AutoNumber 原因 出现此问题原因将 Access 2007 主键列数据导出到新隐藏 _ID 列是.

myeclipse反向生成的实体类的个数少于数据库中表的个数怎么解决?

问题描述 myeclipse反向生成的实体类的个数少于数据库中表的个数怎么解决? 我的数据库中有7个表,反向生成只生成3个? 解决方案 是不是打开方式不对啊 解决方案二: 把最后一步那4个勾去掉就OK了

如何获取access中的超链接并显示为超链接而不是文本

问题描述 在access中将所需字段"客户编号"的类型设置了超链接,通过asp访问显示后是文本形式的超连接,而我需要的是直接点击的带下划线的超连接形式谢谢大虾救急啊 解决方案 解决方案二:这个...<ahref="http://www.csdn.net/">点击打开新地址</a>解决方案三:连接access数据库例程<%@ImportNamespace="System.Data"%><%@ImportNa

获取ACCESS2000数据库中所有表的名称

void OpenSchemaX(TCHAR *TableName){HRESULT hr = S_OK; ::CoInitialize(NULL); //初始化Com IADORecordBinding *picRs = NULL; _RecordsetPtr pRstSchema("ADODB.Recordset");_ConnectionPtr pConnection("ADODB.Connection" ); pConnection->Connecti