access数据库,如果A表中a字段等于B表中b字段,则把符合条件的A表中的c字段值链接起来,赋给B表中c字段, 20
字段类型相同,但结果可能是一对多,怎么做?比如说A表有两条记录A.a=警察和A.a=警察,B.b=警察,A.c=“王刚”和A.c=”李明“,那么赋值B.c=“王刚,李明”...
字段类型相同,但结果可能是一对多,怎么做?比如说A表有两条记录A.a=警察和A.a=警察,B.b=警察,A.c=“王刚”和A.c=”李明“,那么赋值B.c=“王刚,李明”
A
a b c
警察 王刚 河东区
警察 李明 北辰区
小偷 张三 和平区
小偷 马六 南开区
小偷 王五 红桥区
B
a b
警察 王刚“河东区”、李明“北辰区”
小偷 张三“和平区”、马六“南开区”、王五“红桥区”
我表述的可能不清楚,是要达到这种要求,在B表中赋值b字段 展开
A
a b c
警察 王刚 河东区
警察 李明 北辰区
小偷 张三 和平区
小偷 马六 南开区
小偷 王五 红桥区
B
a b
警察 王刚“河东区”、李明“北辰区”
小偷 张三“和平区”、马六“南开区”、王五“红桥区”
我表述的可能不清楚,是要达到这种要求,在B表中赋值b字段 展开
2个回答
展开全部
这个用vba去做好点
===============
用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不一样,用的时候以上表名和字段名都要对应修改
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询