Access交流中心

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

一个复杂的循环问题

丁丁  发表于:2008-11-15 20:21:15  
复制

表A-盘亏表:
--------------------------------------------------------------------
编号 商品名称  货号  盘点数量  库存数量  亏    价格

 1     大宝    001     4         7       -3    20

 2     民生    023     3         7       -2    30
                .................
--------------------------------------------------------------------
表B-盘盈表:
--------------------------------------------------------------------
编号 商品名称  货号  盘点数量  库存数量   盈    价格

 1     大宝    001-1   10        8       2      20   
 2     大宝    004     10        8       2      20 
 3     民生    024     10        7       3      30
---------------------------------------------------------------------
  逐条取表A记录,如第一条,再在表B中找商品名称和价格相等,盈>0的记录,找到后更新:
   表A.亏=表A.亏+表B.盈(即“-3+2”)
   表A.库存数量=表A.库存数量-表B.盈(即:"7-2).
   表B.盈=IIF(ABS(表A.亏)>表B.盈,0,表B.盈+表A.亏)(即“-3+2”)
   表B.库存数量=表B.库存数量+表B.盈(即:"7-2).
 则表A的第一记变为:

1     大宝    001     4         5      -1   20
则表B的第一记变为:

1     大宝    001-1   10       10       0   20

如果表A.亏<0,则继续在表B中找,直表A.亏=0后,再选表A的第二条记录循环以上操作.

以上循环语句怎么写.请大侠们指点!

 

Top
残荷听雨 发表于:2008-11-15 20:59:15

不必循环,两表关联,做个更新查询



丁丁 发表于:2008-11-16 08:57:33

我试过这样好象不得行,老大。因为是一对多关系,这样它把所有的表B有关系的数据都加进来。我想用循环,请哪位老师帮帮忙。



残荷听雨 发表于:2008-11-16 10:27:17

商品名称和货号都关联起来,形成一对一关系。即使作循环,也必须一对一。

 



残荷听雨 发表于:2008-11-16 10:29:02
表B的编号1、2的区别?

丁丁 发表于:2008-11-16 19:22:16

两表只有商品名称能够关联,货号和编号都无关系。怎么做循环?



残荷听雨 发表于:2008-11-16 21:18:46

两个表不是一对一关系,循环或更新均难以识别,不可能实现更新。



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