Access 数据库查询所有表名 (access 查询数据库中所有表名)

如何在 Access 数据库中查询所有表名

Microsoft Access 数据库是一种非常流行的关系型数据库管理系统,它可以用于管理和存储数据,并且可以轻松地创建和管理数据库表格、字段、查询、表单和报表。有时,我们需要查询所有的表名,以便了解数据库中表格的总体概况,以便更好地管理和维护它们。本文将介绍在 Access 数据库中查询所有表名的步骤和方法。

一、使用访问表

使用访问表是查询和管理 Access 数据库中所有表格的一种简单方法。它提供了一个非常简单和快速的方式来列出 Access 数据库中所有表格的名称,同时提供了其他有用的信息,如数据类型、大小和位置等。

要使用访问表方式列出所有表格,请按照以下步骤进行操作:

1. 在 Access 数据库中,单击左侧导航栏上的“导航窗格”按钮。

2. 在打开的导航窗格中选择“对象类型”下的“表格”选项卡。

3. 此时,将显示 Access 数据库中所有的表格名称。您可以单击任何表格名称,以查看其详细信息,如表格结构、索引、约束等信息。

4. 如果您想更改访问表,可以单击“访问表”选项卡下的任何表格名称,然后单击“编辑”按钮。这将打开一个新的窗口,在其中您可以修改表格结构和属性。

二、使用 SQL 查询

另一种查询 Access 数据库中所有表格名称的方法是使用 SQL 查询。虽然这种方法需要一些数据库的知识和经验,但它提供了更强大和灵活的查询功能,并且可以从数据库中检索许多其他有用的信息,例如表格大小、约束、索引、关系等。

要使用 SQL 查询列出所有表格,请按照以下步骤进行操作:

1. 打开 Access 数据库,并单击“创建”选项卡中的“查询设计”按钮。

2. 在查询设计视图中,单击“关闭”按钮,如果 Access 问您是否要保存对现有查询的修改,请单击“否”。

3. 在工具栏上单击“SQL”按钮,以打开 SQL 查询编辑器。

4. 在 SQL 查询窗口中,输入以下命令,并按“Enter”键执行它:

SELECT MSysObjects.Name As table_name FROM MSysObjects WHERE (((MSysObjects.Type)= -2147483646));

5. 上述命令将检索所有的表格名称,并将其输出到查询结果窗口中。

6. 如果您想获得其他有用的信息,例如表格大小、索引和关系等,请修改以上命令以添加您需要的信息。

三、在 VBA 中编写代码

最后一种方法是利用 Access 的 VBA 编程语言来编写代码查询所有的表格。这种方法需要一些编程经验,但它可以自动化查询过程,并从多个数据库文件中检索表格信息。

以下是一个简单的 VBA 代码示例,将检索所有表格的名称并将其输出到消息框中:

Sub listAllTables()

Dim db As Database

Dim tdf As TableDef

Set db = CurrentDb()

For Each tdf In db.TableDefs

If tdf.Attributes And dbHiddenObject Then

‘ignore hidden objects

Else

MsgBox tdf.Name

End If

Next tdf

End Sub

该代码将按名称列出所有的表格,并将其输出到一个消息框中。如果您想获得其他有用的信息,请修改代码以添加您想要的信息。

以上是在 Access 数据库中查询所有表格的几种方法。使用这些方法可以方便地列出所有的表格,并且可以从多个数据库文件中检索信息。无论您是想了解数据库的总体概况,还是需要更好地管理和维护它们,这些方法都可以帮助您快速找到您需要的信息。无论您是使用 Access 数据库作为业务应用程序的一部分,还是想快速了解 Access 数据库的基本结构和属性,这些方法都是非常有用的。

相关问题拓展阅读:

vb如何获取access数据库的所有表和字段名??

Connection.OpenSchema  枯嫌猜adSchemaTables adSchemaColumns

====================================================

具体实现代码:

Private Sub 者歼Command1_Click()

    Dim cnn As Object

    

    Const adSchemaTables = 20

    Const adSchemaColumns = 4

    

    Set cnn = CreateObject(“adodb.connection”)

    

    cnn.Open “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=’c:\test.mdb’;Persist Security Info=False”

    Set rds = cnn.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, “Table”没型))

    Debug.Print “Table_Name”, “Column_Name”

    Do Until rds.EOF

Table_name = rds!Table_name

Set temp = cnn.OpenSchema(adSchemaColumns, Array(Empty, Empty, Table_name))

Do Until temp.EOF

Debug.Print Table_name, temp!Column_Name

temp.MoveNext

Loop

rds.MoveNext

    Loop

    

    rds.Close

    temp.Close

    cnn.Close

End Sub

给LZ一个代码可以搜索ACCESS数据库内所有表名的代码。

Option Explicit

    Dim TableSet As ADODB.Recordset

    Dim Gconnection As ADODB.Connection

    Dim lianjie As String

Sub getTableName()

    lianjie = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=J:\LDGZ\南汇40M^2New\ldgz30_wdN19200\Data\wdold.mdb;Persist Security Info=False”

    Set Gconnection = New ADODB.Connection

 渣衫   Gconnection.Open lianjie

    Set TableSet = Gconnection.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, Empty))

    Do Until 羡哗TableSet.EOF

如派腔List1.AddItem TableSet!table_name

TableSet.MoveNext

    Loop

End Sub

Private Sub Form_Load()

    getTableName

End Sub

 LZ可以将lianjie变量以你自己的连接字符串替代。我这里是用ACCESS7的数据库。

再给LZ提供一个链接

是关于获取“

VB 读取ACCESS数据库中所有表名及指定表的字段名

“的Word文件。

楼主可以访问本人陵雀的

百度空间

文章 “VB将

ACCESS数据库

中的所扮汪链有表名加载到列表框里”。那里列举了两种解厅孙决方案及有关代码,相信能帮到你。

获取某张表的所有字段名可以参考我的以下知道回答

引用方法:

引用ADO—— 菜单”工程”-> “引用 “–>勾选 Microsoft ActiveX Data Objects 2.1 Library 或更高版本,点击确定按钮。

方法一

Private Sub Form_Load()

Dim cn As New ADODB.Connection ‘声明并实例化一个ADO连接对象

Dim cnStr As String’声明一个连接字符串变量

Dim rsSchema As New ADODB.Recordset ‘声明并实例化一个记录集对象

‘设置连接当前目录下“MyAccess.mdb”之连接字符串

cnStr = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & App.Path & “\MyAccess.mdb;Persist Security Info=False;”

cn.Open cnStr ‘打开与该数据库的连接

Set rsSchema = cn.OpenSchema(adSchemaTables) ‘打开数据库所有表记录集

‘循环将所有表名逐个耐败写入列表框

Do Until rsSchema.EOF

If rsSchema!TABLE_TYPE = “TABLE” Then

List1.AddItem rsSchema!TABLE_NAME

End If

rsSchema.MoveNext

Loop

rsSchema.Close ‘关闭记录集

Set rsSchema= Nothing ‘释放记录集对象

cn.Close ‘关闭连接

Set cn = Nothing ‘释放连接对象

End Sub

方法二

ACCESS数据库系统表”MsysObjects”里存放着所有数据表的资料,但是其访问权限默认为不开放。如果不嫌设置ACCESS数据库系统表权限麻烦,下列VB代码可以直接读取”MsysObjects”里记载的已保存表名信息,并于窗体加载时将得到的全部表名写入列表框里。

首先要设置读取ACCESS数据库系统表”MsysObjects”的权限,方法如下:

打开ACCESS数据库–>菜单–>工具–>选项 打开选项对话框,于视图选项卡 勾选“系统对象”点击“确定”按钮;

跟着,菜单–>工具–>安全–>用户与组权限 打开“用户与组权限”对话框,于权限选项卡 选择 “管理员、”MsysObjects”表 于权限框勾选“读取数据”点击“确定”按钮。

***注意为了确保ACCESS数据库的安全,设置完权限后,应将系统对象重新隐藏。

菜单–>工具–>选项 打开选项对话框,于视图选项卡 取消勾选“系统对象”

点击“确定昌山颤”按钮。

Private Sub Form_Load()

Dim cn As New ADODB.Connection ‘声明并实例化一个ADO连接对象

Dim cnStr As String’声明一个连接字符串变量

Dim rs As New ADODB.Recordset ‘声明并实例化一个记录集对象

Dim sqlStr As String ‘声明一个SQL查询字符串变量

‘设置连接当前目录下“MyAccess.mdb”之连接字符串

cnStr = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & App.Path & “\db1.mdb;Persist Security Info=False;”

cn.Open cnStr ‘打开与该数据库的连接

rs.CursorLocation = adUseClient ‘设置为客户端游标

‘设置查询表名列表之SQL语句

sqlStr = “select Name from MsysObjects where type=1 and Flags=0”

rs.Open sqlStr, cn ‘打开数据库表记录集

‘因为直接读取“MsysObjects“得到的表名列表秩序混乱,故这里强制对表名进行排序

rs.Sort = “Name ASC”

‘循环逐个将表名放置到列表框里

Do Until rs.EOF

List1.AddItem rs!Name

rs.MoveNext

Loop

rs.Close ‘关闭记录集

Set rs = Nothing ‘释放记录集对象

cn.Close ‘关唯者闭连接

Set cn = Nothing ‘释放连接对象

End Sub

VB如何查找ACCESS数据库中的所有表

‘程序引用ado 画面添加combo1

Option Explicit

Public appdisk As String

Public conn As New ADODB.Connection

Public Rs As New ADODB.Recordset

Public db As String

Private sSQL As String

Private Sub Form_Load()

Dim i As Integer

On Error GoTo Err

appdisk = Trim(App.Path)

If Right(appdisk, 1) “\” Then appdisk = appdisk & “\”

db = appdisk

db = “Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=” & db & “alex.mdb”

”’ db = “Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=” & Text2.Text & “”

conn.CursorLocation = adUseClient

conn.Open db

i = 0

Set Rs = conn.OpenSchema(adSchemaTables)

‘SQL Server:

‘select * from sysobjects where type=’U’ and status>0

If Rs.EOF = False Then

Do Until Rs.EOF

If Left(Rs!TABLE_NAME, 4) “MSys” Then

Combo2.AddItem Rs!TABLE_NAME, i

i = i + 1

End If

Rs.MoveNext

Loop

End If

Rs.Close: Set Rs = Nothing

Exit Sub

Err:

MsgBox Err.Number

Unload Me

End Sub

如果想要对数据库进行查找操作,那么你需要先定义数据库字符串,和一卖镇个记录集对像

Public conn As ADODB.Connection ‘数据库对象

Public xs As ADODB.Recordset ‘记录集对象用来存放宽配雀查找结果

Sub Connect() ‘连接到DB1数据库

Set conn = New ADODB.Connection

conn.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & App.Path & “\db1.mdb”

conn.Open

End Sub

如果有一个数据库db1.mdb它里面有一个表

学生(姓名,学号)

现在想要查找学号为10的学生记录。

public sub cazhao()

dim sql as string

sql=”select * from 学生 where 学号=10″

set xs =new ADODB.Recordset

xs.open sql,conn,2,2

end sub

执行完cazhao过程后,xs里面就是查找的结果了。比如把 xs的值赋给文本框:

text1.text=xs(“姓名”)

text2.text=xs(“学号”)

如果xs中有多条记录可以慎早通过这样的方式遍历:

do while not xs.eof

想要赋值的对象=xs(“字段名”)

.

.

.

xs.movenext

loop

用DAO3.6访问mdb数键缺裂稿闭据库:

Dim db As Database

Dim rs As Recordset

Set db = OpenDatabase(“g:\NWIND.MDB”)

For i = 0 To db.TableDefs.Count – 1

‘输出各数据扮渣表名

Print db.TableDefs(i).Name

Next i

db.Close

Set db = Nothing

你把要实现的说明白些

关于access 查询数据库中所有表名的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Access 数据库查询所有表名 (access 查询数据库中所有表名)