Access交流中心

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

同时打开多个表

李锋  发表于:2012-06-09 04:57:01  
复制

我想进行如下操作:

1、打开A表

2、指针向首记录

3、取工资号、奖金的值

4、打开B表

5、查找等于A表相同工资号的记录

6、查到后,将A表奖金的值加到B表奖金中

7、回到A表

8、下一个记录

9、重复3以后

 

请问:如何写代码?

点击下载此附件

 

Top
李锋 发表于:2012-06-09 14:42:22
李锋 发表于:2012-06-12 18:18:48

请各位高手帮帮忙,急需。



在水一方 发表于:2012-06-12 18:52:47

这个怎么样?

点击下载此附件

建议建个新表C保存合并后的记录而不是用更新B表的方法



李锋 发表于:2012-07-02 23:51:02
谢谢,我试试。

煮江品茶 发表于:2012-07-03 13:58:13

多此一举,sql语句直接处理了事。

 

dim ssql as string
ssql="update B表 set 奖金=奖金+dlookup('奖金','A表','工资号=' & [工资号])"
docmd.runsql ssql



李锋 发表于:2012-07-04 22:24:18
在水一方的方法能够解决问题。煮江品茶的方法使B表的数据全部为零,求详解。点击下载此附件

李锋 发表于:2012-07-04 22:29:50
谢谢各位的帮助!

煮江品茶 发表于:2012-07-05 12:21:47
UPDATE B SET B.奖金 = nz(DLookUp("奖金","A","工资号='" & [工资号] & "'"),0);

李锋 发表于:2012-07-19 22:45:38
Dim ssql As String
ssql = "UPDATE B SET B.奖金 = nz(DLookUp("奖金","A","工资号=' & [工资号] &'"),0)"
DoCmd.RunSQL ssql
我将上述命令写入“运算”中,显示“语法错误”。求楼上帮助。

叶海峰 发表于:2012-07-20 09:37:22

试试

ssql = "UPDATE B SET B.奖金 =" &  nz(DLookUp("奖金","A","工资号='" & [工资号] &"'"),0)"



李锋 发表于:2012-07-20 22:18:41
结果还是此句错误。

李锋 发表于:2012-07-20 22:26:58

ssql = "UPDATE B SET B.奖金 =" & Nz(DLookup("奖金", "A", "工资号='" & [工资号] & "'"), 0) & ""
也不对。



李锋 发表于:2012-07-29 16:44:49

在大家的帮助下,今天终于解决了此问题。

在在水一方的启发下,最终用SQL解决问题最佳。

我先是做了一个更新的查询成功。

UPDATE B INNER JOIN A ON B.工资号 = A.工资号 SET B.奖金 = B!奖金+nz(DLookUp(A!奖金,"[A]",B!工资号=A!工资号));
得到了两表相加的结果。也学习了DLOOKup函数。

但将上述用到SQL中,还是不行。经过反复试验。用下列SQL解决了问题。

ssql = "UPDATE B INNER JOIN A ON B.工资号 = A.工资号 SET B.奖金 = B.奖金+A.奖金;"

在此感谢“在水一方”,“煮江品茶”,“叶海峰”。



李锋 发表于:2012-07-29 16:46:06
应该是在煮江品茶的启发下。

李锋 发表于:2012-07-29 16:54:56

ssql = "UPDATE B INNER JOIN A ON B.工资号 = A.工资号 SET B.奖金 = B.奖金+nz(DLookUp(A.奖金,'" & A & "',B!工资号=A!工资号));"

会显示如下错误:

点击下载此附件

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