MS Access中有没有办法使用VBA来确定ODBC链接表是SQL视图还是表



我有一个访问数据库,其中包含数百个到几个后端SQL服务器的ODBC链接表。 其中一些链接表是针对 SQL 表的,有些是针对 SQL 视图的。 有没有办法使用 VBA 确定哪个是 SQL 表,哪个是 SQL 视图?

谢谢。

您可以从 SQL 服务器查询该信息。

SELECT TABLE_TYPE
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA + '.' + TABLE_NAME = ?

在 VBA 中实现它:

Dim db As DAO.Database
Set db = CurrentDb
Dim td As DAO.TableDef
Set td = db.TableDefs("SomeLinkedTable")
Dim qd As DAO.QueryDef
Set qd = db.CreateQueryDef("")
qd.Connect = td.Connect
qd.SQL = "SELECT TABLE_TYPE " & _
"FROM INFORMATION_SCHEMA.TABLES " & _
"WHERE TABLE_SCHEMA + '.' + TABLE_NAME = '" & Replace(td.SourceTableName, "'", "''") & "'"
Dim rs As DAO.Recordset
Set rs = qd.OpenRecordset
Debug.Print rs!TABLE_TYPE.Value 'Returns VIEW or BASE TABLE depending on the type

相关内容

  • 没有找到相关文章

最新更新