定单表                                     库存表
物品ID   数量  定单日期              物品ID      库存量   最近一次定单日期
  1       20    2006-8-12              1        100 80       2006-8-12 
  2       10    2006-8-13              2         90       2006-8-13
  3        5    2006-8-15              3         85       2006-8-15在确认定单后,怎样才能改变"库存量".(100 -20 =80,  90-10=80,  85-5=80 )

解决方案 »

  1.   

    分成两句来执行是最简单的。第一条是向订单表插入一条新记录,然后更新库存表:update 库存表 set 库存量=库存量-数量(变量) where ID=ID(变量);
    但这两条SQL必须有事务控制,任何一个错误都必须回滚刚作的修改。库存表的库存量必须大于等于零。可以在设计表时加上这个规则。
      

  2.   

    能不能具体说以下怎么下.我是刚刚接触SQL,谢谢了
      

  3.   

    on error resume next
    conn.begintrans  '开始事务conn.execute "INSERT 订单表 values(.......)"  '在定单表里插入新记录,括号里的是变量名和字段配对的conn.execute "UPDATE....."   '更新库存表,上面有写了if err.number<>0 then
       conn.rollbacktrans   '如果有错误发生则回滚,表记录不更新
    else
       conn.committrans     '没有错误发生则记录更新生效
    end if