access数据库,如果A表中a字段等于B表中b字段,则把符合条件的A表中的b字段和c字段值链接起来,

赋给B表中b字段,字段类型相同,但结果可能是一对多,怎么做?比如说A表有两条记录A.a=警察和A.a=警察,B.b=警察,A.c=“王刚”和A.c=”李明“,那么赋值B.... 赋给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的已发递增是关联字段,最后这样就可以,中间所有字符串都可以不要,请帮忙再看看
展开
 我来答
解0人
推荐于2016-10-11 · TA获得超过2389个赞
知道大有可为答主
回答量:1474
采纳率:83%
帮助的人:762万
展开全部

用vba写自定义函数

首先,建立一个模块,写入以下自定义函数:

Function rcMerge(whereStr$)
Dim rs As New ADODB.Recordset, sql$, resultStr$
    sql = "select a,b,c from A where a='" & whereStr & "'"
    rs.Open sql, CurrentProject.Connection, adOpenKeyset, adLockReadOnly
    Do While Not rs.EOF
        resultStr = resultStr & "、" & rs!b & """" & rs!c & """"
        rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
    rcMerge = Replace(resultStr, "、", "", 1, 1)
End Function

然後,建立更新查询,查询的sql:

update B set b=rcmerge(a)

执行,OK!

注意,如果你实际操作的表名称、字段名称和以上的A、B、a、b、c不一样,用的时候以上表名和字段名都要对应修改

更多追问追答
追问
里面怎么还有乱码啊,看不太明白,能不能用sql语句玩成
追答
那不是乱码,已改,请再看看
只用sql做不到
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式