现在有两个数据库,进货表(名称,供货商,进货数量,进货价),信息表(名称,出版社,架位,供货商,库存数量,库存下限)。我想把进货表中的进货数量的值加到信息表中对应项的库存数量上,代码该怎么写呀?急用!!!!!!谢谢大家!!!

解决方案 »

  1.   

    UPDATE 信息表 SET 信息表.库存数量=ISNULL(信息表.库存数量)+进货表.进货数量
    FROM 信息表
    INNER JOIN (SELECT 名称,供货商,SUM(进货数量) AS 进货数量
                  FROM   进货表
                  GROUP BY 名称,供货商) AS 进货表
           ON 信息表.名称=进货表.名称 AND 信息表.供货商=进货表.供货商
      

  2.   

    UPDATE 信息表 SET 信息表.库存数量=ISNULL(信息表.库存数量)+进货表.进货数量
    FROM 信息表
    INNER JOIN (SELECT 名称,供货商,SUM(进货数量) AS 进货数量
                  FROM   进货表
                  GROUP BY 名称,供货商) AS 进货表
           ON 信息表.名称=进货表.名称 AND 信息表.供货商=进货表.供货商怎样将上面这段代码放到下面那段代码里呢?
    Set cn1 = New ADODB.Connection
    If cn1.State <> adStateClosed Then cn1.Close
    cn1.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\数据库\总数据.mdb;Persist Security Info=False"
    Set rs1 = New ADODB.Recordset
    If rs1.State <> adStateClosed Then rs1.Close
      rs1.CursorLocation = adUseClient
      rs1.Open "select 进货日期,登记日期,名称,供货商,进货数量,进货价,进货总额  from 进货表", cn1, adOpenDynamic, adLockOptimistic
     
    total = 0
    While Not rs1.EOF
    total = total + Val(rs1.Fields(6))
    rs1.MoveNext
    Wend
    Text17.Text = Format(total, "#0.00")cn1.Execute "Insert Into 进货表 Select * From 进货单表"
    cn1.Execute "Delete From 进货单表"
    Command1.Enabled = False
    Command2.Enabled = False
    End Sub
      

  3.   

    sql=" UPDATE 信息表 SET 信息表.库存数量=ISNULL(信息表.库存数量)+进货表.进货数量 " _
      & " FROM 信息表 " _
      & " INNER JOIN (SELECT 名称,供货商,SUM(进货数量) AS 进货数量 " _
      & "  FROM 进货表 " _
      & "  GROUP BY 名称,供货商) AS 进货表 " _
      & "  ON 信息表.名称=进货表.名称 AND 信息表.供货商=进货表.供货商 "
    cn1.execute sql
      

  4.   

    把这段代码写上
    sql=" UPDATE 信息表 SET 信息表.库存数量=ISNULL(信息表.库存数量)+进货表.进货数量 " _
      & " FROM 信息表 " _
      & " INNER JOIN (SELECT 名称,供货商,SUM(进货数量) AS 进货数量 " _
      & " FROM 进货表 " _
      & " GROUP BY 名称,供货商) AS 进货表 " _
      & " ON 信息表.名称=进货表.名称 AND 信息表.供货商=进货表.供货商 "
    cn1.execute sql信息表里的库存数量还是不变呀!是我哪里写错了吗?请大师再次帮忙