2010-01-16 67 views
-1

有没有办法通过sql语句或vba代码从访问文件返回所有表? “我不知道表格的名称”获取所有表

就像当你想让一个表中的所有字段使用'*'而不管字段的名字一样。

但如何获得所有表?

+1

-1不包括相关内容。您正在使用数据透视表在Excel中工作,因此,该上下文应该在原始问题中。 @Astander实际上正确地回答了你问的问题,但它并不能解决你的问题,因为你的问题没有完全描述你的实际问题。 – 2010-01-16 23:31:39

+0

没有我想要的是我所要求的,无论我从Excel或Access或其他工作,我的问题是明确的我要求sql语句返回从ACCESS数据库文件的所有表。 – 2010-01-17 07:28:08

回答

7

这将带回的MS Access数据库中的所有表(包括链接表)

SELECT MSysObjects.*, MSysObjects.Type 
FROM MSysObjects 
WHERE (((MSysObjects.Type)=1)) OR (((MSysObjects.Type)=6)); 

它还inclued Sys系统表,所以你可能要排除的表开始MSys的

有无看看

+0

非常感谢我得到这个从你的答案 - >选择MSysObjects.Name FROM MSysObjects 其中(MSysObjects.Name)不喜欢“MSYS *”和 MSysObjects.Name不喜欢“表”和 MSysObjects.Name不喜欢“数据库“和 MSysObjects.Name不喜欢‘关系’和 MSysObjects.Name不喜欢‘SummaryInfo使用’和 MSysObjects.Name不喜欢‘用户自定义’和 MSysObjects.Name不喜欢‘表单’和 MSysObjects.Name不喜欢”报告“和 MSysObjects.Name不像”脚本“和 MSysObjects.Name不像”模块“和 MSysObjects.Name不像”SysRel“和 MSysObjects.Name不像“DataAccessPages” 和它的工作 – 2010-01-16 07:03:50

+0

你知道这真的很棒,但我的问题还没有解决它:(:(我想要的是当我的数据源打开时,我把所有表自动插入微软查询 - 查询表单,对此的任何提示? – 2010-01-16 07:23:46

+0

你想在哪里使用这个结果,在列表框中,在表单上,​​在另一个查询中,作为记录源? – 2010-01-16 07:28:47

-1

取决于您正在运行的是哪种数据库。他们中的很多人都支持SHOW TABLES命令。

+0

它访问数据库 – 2010-01-16 06:55:55

+0

-1用于无瞄准射击 - MS-ACCESS标签与最初发布时相同。 – 2010-01-16 23:30:30