Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

请教如何把记录中的非空字段内容复制到另一个表呢?

jjhhll  发表于:2016-03-23 11:30:24  
复制

请教各位老师,如图,表1中各记录的非空字段内容,想复制到另外一个表中,有什么好办法呢?盼回复,谢谢!



 

Top
杜超 发表于:2016-03-23 16:56:36

先对表1做成符合条件的查询1,再将查询1追加到 表2


INSERT INTO SELECTSELECT INTO 两种表复制语句-Access软件网

http://www.accessoft.com/article-show.asp?id=5778

追加查询(初学者一看就会)-Access软件网

http://www.accessoft.com/article-show.asp?id=6925

[推荐]几种追加查询的制作-Access软件网

http://www.accessoft.com/article-show.asp?id=3327



朱先生 发表于:2016-03-23 18:18:54

可以用查询生成表的方法完成,只是想问一下你的所谓表2是原来就有的呢还是想要得到的结果

如果想要的是结果就用生成表查询

如果是原来就有的,就将生成的表追加到原来的表中

两种方法都做好了,因代码不同,不知用哪一句,所以难回复



西出阳关无故人 发表于:2016-03-23 21:33:17

先做字段合并查询,然后借助自定义函数再做分列查询.

select id,姓名,iif(isnull([a]),"",[a] & ",") & iif(isnull([b]),"",[b] & ",")... ...& iif(isnull([f]),"",[f] & ",") as 联合 from 表1;   第一个查询,命名为"查询1"

select id,姓名,mysplit(联合,1) as 项目1,mysplit(联合,2) as 项目2,mysplit(联合,3) as 项目3 from 查询1;


function mysplit(str as string,c as long) as string

'str:要进行分列的字符串;c:要获得的分列后的第几列.

'用法举例:mysplit("a,b,c,d",3)  '返回 c,即用逗号把传入的字符串分列后,返回第三列的值

dim ar

ar=split(str,",")

myslip=ar(c-1)

end function





朱先生 发表于:2016-03-23 22:14:36

一句超简单的选择查询即可



jjhhll 发表于:2016-03-24 09:44:21
抱歉,本来想点最佳答案给3楼的朋友,但不知道为什么了点了以后变成4楼是最佳答案

jjhhll 发表于:2016-03-24 09:48:19

1是原始数据,表2是需要达到的效果,请问4楼老师有什么更简便的方法实现?



总记录:6篇  页次:1/1 9 1 :