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

progame 2001-07-05 08:04:55
...全文
157 点赞 收藏 17
写回复
17 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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就可以了。
回复
相关推荐
发帖

1188

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2001-07-05 08:04
社区公告
暂无公告