访问获取所有表
Posted
技术标签:
【中文标题】访问获取所有表【英文标题】:Access get all tables 【发布时间】:2010-01-16 06:27:55 【问题描述】:有没有办法通过 sql 语句或 vba 代码从访问文件中返回所有表? "我不知道表的名称"
比如当你想在一个表中包含所有字段时,无论字段名称如何,都使用“*”。
但是如何获取所有表格?!!!!
【问题讨论】:
-1 不包括相关上下文。您正在使用数据透视表在 Excel 中工作,因此,该上下文应该在原始问题中。 @Astander 实际上已经正确回答了您提出的问题,但它并没有解决您的问题,因为您的问题没有充分完整地描述您的实际问题。 不是我想要的就是我要求的,无论我是使用 Excel 还是 access 或其他,我的问题很明确,我要求 sql 语句从 ACCESS 数据库文件中返回所有表。 【参考方案1】:这将带回 MS Access 数据库中的所有表(包括链接表)
SELECT MSysObjects.*, MSysObjects.Type
FROM MSysObjects
WHERE (((MSysObjects.Type)=1)) OR (((MSysObjects.Type)=6));
它还包括 Sys 表,因此您可能希望排除以 MSys 开头的表
看看
Using MSysObjects SELECT "Table" AS [Table], MSysObjects.Name, MSysObjects.【讨论】:
非常感谢我从你的回答中得到了这个 ->SELECT MSysObjects.Name FROM MSysObjects where (MSysObjects.Name) Not Like "Msys*" and MSysObjects.Name not like "Tables" and MSysObjects.Name不像“Databases”和 MSysObjects.Name 不像“Relationships”和 MSysObjects.Name 不像“SummaryInfo”和 MSysObjects.Name 不像“UserDefined”和 MSysObjects.Name 不像“Forms”和 MSysObjects.Name 不像“Reports”并且 MSysObjects.Name 不像“Scripts”,MSysObjects.Name 不像“Modules”,MSysObjects.Name 不像“SysRel”,MSysObjects.Name 不像“DataAccessPages”,它可以工作 你知道这真的很棒,但我的问题还没有解决 :(,我想要的是当我的数据源打开时,我将所有表自动插入到 microsoft query -Query 表单中,任何提示到那个? 您希望在列表框中、表单、另一个查询中的何处使用此结果作为记录源? 在 Excel 中转到数据菜单-> 数据透视表 .......... -> 外部数据源 -> 按下一步 -> 按获取数据按钮 -> 在选择数据中源对话框,从列表中选择您的数据源,然后按 OK-> Microsoft Query 立即打开并打开查询设计,并在此板中插入默认表,这里我想要所有可能在数据库中的表,而不仅仅是默认表,这应该是自动的,在 Microsoft Query 打开后无需用户进行任何操作,就是这样 OOops,我想我在这里遗漏了一些东西,通过这个我查询 MSysObjects 表而不是我所有的表,我会再想一想【参考方案2】:取决于您正在运行的数据库类型。其中许多支持 SHOW TABLES 命令。
【讨论】:
-1 用于不瞄准射击 - MS-ACCESS 标签在最初发布的问题上。以上是关于访问获取所有表的主要内容,如果未能解决你的问题,请参考以下文章