赋给B表中b字段,字段类型相同,但结果可能是一对多,怎么做?比如说A表有两条记录A.a=警察和A.a=警察,B.b=警察,A.c=“王刚”和A.c=”李明“,那么赋值B.c=“王刚,李明”
A
a b c
警察 王刚 河东区
警察 李明 北辰区
小偷 张三 和平区
小偷 马六 南开区
小偷 王五 红桥区
B
a b
警察 王刚“河东区”、李明“北辰区”
小偷 张三“和平区”、马六“南开区”、王五“红桥区”
是要达到这种要求,在B表中赋值b字段,用vba做也可以,怎么做帮帮忙
表A a字段名是发原链接 ,b字段名是本文扩全,有下面五条数据
发原链接 本文扩全
警察 王刚河东区
警察 李明北辰区
小偷 张三和平区
小偷 马六南开区
小偷 王五红桥区
表B a字段名是已发递增,b字段名是zsbc
已发递增 zsbc
警察 王刚河东区李明北辰区
小偷 张三和平区马六南开区王五红桥区
表A的发原链接和表B的已发递增是关联字段,最后这样就可以,中间所有字符串都可以不要,请帮忙再看看
用vba写自定义函数
首先,建立一个模块,写入以下自定义函数:
Function rcMerge(whereStr$)然後,建立更新查询,查询的sql:
update B set b=rcmerge(a)执行,OK!
注意,如果你实际操作的表名称、字段名称和以上的A、B、a、b、c不一样,用的时候以上表名和字段名都要对应修改
追问里面怎么还有乱码啊,看不太明白,能不能用sql语句玩成
追答那不是乱码,已改,请再看看
只用sql做不到
给个能直接安装的vba再说,我的2003里面没有vba
追答access、excel、word、outlook...等offce组件都可以直接编写、运行vba程序,不需要安装什麼...
打开你的access数据库,按alt+F11,会弹出VBE窗口(vba的编辑器)
然後如下图操作
只是既然你不懂vba,那麼也就不知道如何修改表名、字段名了吧,
我试过了,不行,详见我修改的补充,请帮忙再看看
追答不行是因为你不懂vba...你给A、B、a、b、c肯定不是你的真实表名和字段名,所以需要你对应修改,字符串连接也是很简单的东西,就算按你上面的补充给你重写,也在你的实际环境中也依然会出问题。如果能把你的实际表结构发出来,或者把你的access文件发到[email protected],可以帮你完成
追问我把实际表结构发出来了,再补充里面,请看看。
追答Function rcMerge(whereStr$)如果还有问题,请把问题界面截图发出来