Office中国论坛/Access中国论坛

标题: 多表提取数据 [打印本页]

作者: 156595311    时间: 2013-7-18 22:48
标题: 多表提取数据
多表提取数据.

作者: admin    时间: 2013-7-18 22:56
导到 access更简单
一条Sql 语句
作者: 156595311    时间: 2013-7-18 23:01
admin 发表于 2013-7-18 22:56
导到 access更简单
一条Sql 语句

有附件代码吗?是多表的。
作者: admin    时间: 2013-7-18 23:11
可以把两个表导入到一个表中
作者: admin    时间: 2013-7-18 23:11
或select * from 表1 where 代码='Q09' union select * from 表2 where 代码='Q09'
作者: 156595311    时间: 2013-7-18 23:13
admin 发表于 2013-7-18 23:11
或select * from 表1 where 代码='Q09' union select * from 表2 where 代码='Q09'

我的意思是当有100个表时,这句代码不是要写很多?
作者: admin    时间: 2013-7-19 00:49
可以循环 100个表
如果表名有规律,也是一句代码的事
作者: roych    时间: 2013-7-21 15:06
本帖最后由 roych 于 2013-7-21 15:31 编辑

首先,个人不赞成编写VBA语句执行,因为调试并不容易。因此这里只用了导入数据的方式来完成算是对管理员的图文补充,关键在于sql语句的书写。
详细见以下操作流程:第一步:导入外部数据,按向导即可(PS:俺用的是2013版本,2003或更早的版本在菜单“数据”上选择即可“外部数据即可”)。
[attach]52207[/attach]
导入后结果如下:
[attach]52203[/attach]
第二步:修改SQL语句,右击数据中任意一个单元格,选择“编辑查询”:
[attach]52204[/attach]
修改查询语句如下【如果路径不变的话,请不要动上面的连接,如果有变化则修改Data Source(图中的第一行)的路径属性】:
[attach]52205[/attach]
以上是两个表的sql语句,多表的话,请自行增加:union all select * from 表名称 where 字段=条件【注意文本、数值或日期型条件的写法】。
最后效果如下【两个表中含有Q09的数据已经提取出来】:
[attach]52206[/attach]

作者: 156595311    时间: 2013-7-21 16:40
roych 发表于 2013-7-21 15:06
首先,个人不赞成编写VBA语句执行,因为调试并不容易。因此这里只用了导入数据的方式来完成算是对管理员的 ...

如果是几个表的话,此法可以接受,但是多表的话(如40个表),就不妥了。
WHERE 条件语句:
日期,前后加#
文本,前后加单引号
数值,不用加任何符号

不知说得对不对?




作者: roych    时间: 2013-7-27 14:17
156595311 发表于 2013-7-21 16:40
如果是几个表的话,此法可以接受,但是多表的话(如40个表),就不妥了。
WHERE 条件语句:
日期,前后 ...

多表的话,只需要多次复制几个Union select语句而已。其实即便是ADO语句也基本是这样的~~




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3