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

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

  '功能:获取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;

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答