如何得到ACCESS数据库中所有的表名?

progame 2001-07-05 08:04:55
...全文
203 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
fataltomato 2001-07-19
  • 打赏
  • 举报
回复
progame,sorry.希望还能有帮助,如上所讲,用OPENSCHEMA,以下是MSDN中摘出。

OpenSchema 方法范例
该范例使用 OpenSchema 方法显示 Pubs 数据库内每个表的名称和类型。

Public Sub OpenSchemaX()

Dim cnn1 As ADODB.Connection
Dim rstSchema As ADODB.Recordset
Dim strCnn As String

Set cnn1 = New ADODB.Connection
strCnn = "Provider=sqloledb;" & _
"Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
cnn1.Open strCnn

Set rstSchema = cnn1.OpenSchema(adSchemaTables)

Do Until rstSchema.EOF
Debug.Print "Table name: " & _
rstSchema!TABLE_NAME & vbCr & _
"Table type: " & rstSchema!TABLE_TYPE & vbCr
rstSchema.MoveNext
Loop
rstSchema.Close

cnn1.Close

End Sub

该范例在 OpenSchema 方法的 Criteria 参数中指定 TABLE_TYPE 查询约束。因此,只返回在 Pubs 数据库中指定视图的模式信息。然后该范例显示每个表的名称和类型。

Public Sub OpenSchemaX2()

Dim cnn2 As ADODB.Connection
Dim rstSchema As ADODB.Recordset
Dim strCnn As String

Set cnn2 = New ADODB.Connection
strCnn = "Provider=sqloledb;" & _
"Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
cnn2.Open strCnn

Set rstSchema = cnn2.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "VIEW"))

Do Until rstSchema.EOF
Debug.Print "Table name: " & _
rstSchema!TABLE_NAME & vbCr & _
"Table type: " & rstSchema!TABLE_TYPE & vbCr
rstSchema.MoveNext
Loop
rstSchema.Close

cnn2.Close

End Sub

progame 2001-07-19
  • 打赏
  • 举报
回复
这段时间忙了一点,不好意思各位,到时会给大家加分的!
jusygg 2001-07-19
  • 打赏
  • 举报
回复
gz
Fxx 2001-07-15
  • 打赏
  • 举报
回复
Connection.OpenSchema 返回数据库中所有的对象,包括表
night_cai 2001-07-15
  • 打赏
  • 举报
回复
用DAO:
OpenDataBase方法打数据库!
再看他的TableDef属性???
Good Luck!
不一定有用
Brunhild 2001-07-15
  • 打赏
  • 举报
回复
ADO好象可以用 Connection.OpenSchema adSchemaTables,后面好象还可以指定表名,我没有MSDN,只能说这么多。
chengbhz 2001-07-15
  • 打赏
  • 举报
回复
我就不知道ADO的用法是怎么样的
limengchen 2001-07-15
  • 打赏
  • 举报
回复
访问tabeldefs集合,然后逐个列出表的name属性。
WindowsMe 2001-07-15
  • 打赏
  • 举报
回复
progame(我有权沉默,但我发的贴都将成为水园经典):

是用ADMIN登陆的?回头偶试试 
progame 2001-07-15
  • 打赏
  • 举报
回复
在程序里,无读MSysOgjects的权限!
tlf9304 2001-07-15
  • 打赏
  • 举报
回复
dim db as database
dim tb as tabledef

for each tb in db.tabledefs
msgbox tb.name
next
NewSun99 2001-07-15
  • 打赏
  • 举报
回复
学习
progame 2001-07-09
  • 打赏
  • 举报
回复
TO fataltomato:但在程序里,无读MSysOgjects的权限!
bcrun 2001-07-05
  • 打赏
  • 举报
回复
看来大家的意见是因访问的引擎不同而不同了
fataltomato 2001-07-05
  • 打赏
  • 举报
回复
用SQL:
SELECT MSysObjects.Name
FROM MSysObjects
WHERE type=1
飞天神笔 2001-07-05
  • 打赏
  • 举报
回复
用DAO(也有可能是ADO,我手头没有VB,一时忘了)的TableDef吧。
pp616 2001-07-05
  • 打赏
  • 举报
回复
GetTableNames就可以了。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧