有一个成品表(production),一个成品可能有几个零件组成,形式如下: 
  成品料号  零件料号1  零件数量1  零件料号2  零件数量2  零件料号3  零件数量3  零件料号4  零件数量4 ...  ... 
  A001      B001      2          B002      1        B003      4        NULL      NULL  
  C003      D1        6          S1        3        NULL      NULL      NULL      NULL    
  
因为成品不一样。需要的零件种类数量未知,每种零件的数量也未知。 
以成品的料号查询得到一下效果, 
成品料号  零件料号  零件数量 
A001      B001    2 
A001      B002    1 
A001      B003    4 
我怎么实现把查询出来的第一行中的零件料号“B001”作为一个变量x1,零件数量“2”作为一个变量Y1,
然后把第二行中的零件料号“B002”作为一个变量x2,零件数量“2”作为一个变量Y2,
以此类推,把查询出来的每一个零件料号和零件数量都赋值给变量,用VB+SQL怎么实现

解决方案 »

  1.   


    do while not rs.eof
      x=rs("零件料号")
      y=rs("零件数量")
      rs.movenext
    loop
      

  2.   

    我试了一下,有些问题,错误提示“说系统关闭时不容许操作”
    这是相关代码,帮我看看问题在那?Dim rs1 As ADODB.Recordset             '定义一个记录集对象rs1
    Set rs1 = New ADODB.Recordset
    Dim cnn1 As ADODB.Connection           '定义一个连接对象cnn1
    Set cnn1 = New ADODB.Connection
    cnn1.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\daoju.mdb;Persist Security Info=False"
    Dim connter As Integer
    Dim sql1 As String
    Dim sql2 As String
    Dim sql3 As String
    sql3 = "Select   *   From   zuoye where liaohao = '" + Text1.Text + "'and daoci = '" + Text2.Text + "' "
    Set rs1 = cnn1.Execute(sql3)
    Do While Not rs1.EOF
      x = rs1("bianma")
      y = rs1("shuliang")
      sql1 = "update chuwei set shuliang1 = shuliang1-'" & y & "' where bianma ='" & x & "'  "
    Set rs1 = cnn1.Execute(sql1)‘执行修改
      sql2 = "Insert into  lingyong  (liaohao,daoci,bianma,churushu,zuoyeyuan,leixing,shijian)   values   ( '" + Text1.Text + "','" + Text2.Text + "','" & x & "',0-'" & y & "','" + Text4.Text + "','正常退还',Now())"
    Set rs1 = cnn1.Execute(sql2)  ‘执行添加
    rs1.MoveNext
    Loop  MsgBox ("信息修改成功!")
      

  3.   

    Set rs1 = cnn1.Execute(sql1)‘执行修改 
    Set rs1 = cnn1.Execute(sql2)  ‘执行添加 
    这两句改成:
    cnn1.execute(sql1)
    cnn1.Execute(sql2)
      

  4.   

    最后加上
    rs1.Close
    cnn1.Close