设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1504|回复: 1
打印 上一主题 下一主题

[ADO/DAO] 请帮忙看一下结构,谢谢了。

[复制链接]
跳转到指定楼层
1#
发表于 2011-2-22 15:23:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Do Until N = True
If Y = False Then
  DoCmd.SetWarnings (False)
  DoCmd.RunSQL "DELETE 漆包线车间假设明细.* FROM 漆包线车间假设明细;"
  DoCmd.RunSQL "INSERT INTO 漆包线车间假设明细 SELECT 漆包线车间明细.* FROM 漆包线车间明细;"
  DoCmd.RunSQL "DELETE 漆包线仓库假设明细.* FROM 漆包线仓库假设明细;"
  DoCmd.RunSQL "INSERT INTO 漆包线仓库假设明细 SELECT 漆包线明细仓库.* FROM 漆包线明细仓库;"
  Y = True
Else
  stemp = "Select * From 漆包线消耗明细"
  rs.Open "Select * From 漆包线消耗明细", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
  Do While Not rs.EOF
  a = rs.Fields("根数")
  c = DCount("条形码", "漆包线车间假设明细", "货品ID='" & rs("铜线货品ID") & "'")
    If a - c > 0 Then
       For i = 1 To a - c Step 1     
          If DCount("条形码", "漆包线仓库假设明细", "货品ID='" & rs("铜线货品ID") & "'") > 0 Then
              b = DLookup("条形码", "漆包线应追加明细", "货品ID='" & rs("铜线货品ID") & "'")      
              DoCmd.RunSQL "INSERT INTO 漆包线车间假设明细 ( 货品ID, 条形码, 数量 ) SELECT 漆包线应追加明细.货品ID, 漆包线应追加明细.条形码, 漆包线应追加明细.数量 FROM 漆包线应追加明细 GROUP BY 漆包线应追加明细.货品ID, 漆包线应追加明细.条形码, 漆包线应追加明细.数量 HAVING (((漆包线应追加明细.货品ID)='" & rs("铜线货品ID") & "'));"      
              DoCmd.RunSQL "DELETE 漆包线仓库假设明细.* FROM 漆包线仓库假设明细 where 条形码='" & b & "';"
              Y = True      
         Else   
              MsgBox "此有绕阻定子计划车间及仓库" & rs("铜线货品ID") & "漆包线桶数不足,请修改此计划", vbDefaultButton1     
              Set rs = Nothing      
              Set rs1 = Nothing      
              Exit Sub      
          End If         
       Next i   
  Else   
      STemp1 = "select * from 漆包线车间假设明细 where 货品ID='" & rs("铜线货品ID") & "'"   
      rs1.Open STemp1, CurrentProject.Connection, adOpenKeyset, adLockOptimistic     
      Do While Not rs1.EOF   
          If rs("每根数量") > rs1("数量") Then   
              If DCount("条形码", "漆包线仓库明细", "货品ID=" & rs("货品ID") & "") > 0 Then
                  b = DLookup("条形码", "漆包线应追加明细", "货品ID='" & rs("铜线货品ID") & "'")         
                  DoCmd.RunSQL "INSERT INTO 漆包线车间假设明细 ( 货品ID, 条形码, 数量 ) SELECT 漆包线应追加明细.货品ID, 漆包线应追加明细.条形码, Min(漆包线应追加明细.数量) AS 数量 FROM 漆包线应追加明细 GROUP BY 漆包线应追加明细.货品ID, 漆包线应追加明细.条形码 HAVING (((漆包线应追加明细.货品ID)='" & rs("货品ID") & "'));"
           DoCmd.RunSQL "DELETE 漆包线仓库假设明细.* FROM 漆包线仓库假设明细 where 条形码=" & b & ";"         
                  Y = True         
              Else        
                  MsgBox "此有绕阻定子计划车间及仓库'" & rs("货品ID") & "'漆包线重量不足,请修改此计划", vbDefaultButton1      
                  Set rs = Nothing      
                  Set rs1 = Nothing      
                  Exit Sub      
              End If
          Else   
              rs1.MoveNext      
          End If   
      Loop   
End If
    Set rs1 = Nothing   
  rs.MoveNext  
Loop
Set rs = Nothing
DoCmd.SetWarnings (True)
End If
N = True
Loop

总是执行到  For i = 1 To a - c Step 1   。。。Next i 就结束了,不再判断重量,请帮忙看看为什么。谢谢了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2011-2-22 16:36:51 | 只看该作者
有点明白了,但是没解决。简化一点
If a - c > 0 Then
For i = 1 To a - c Step 1     
          If DCount("条形码", "漆包线仓库假设明细", "货品ID='" & rs("铜线货品ID") & "'") > 0 Then
              b = DLookup("条形码", "漆包线应追加明细", "货品ID='" & rs("铜线货品ID") & "'")      
                 Y = True      
         Else   
              MsgBox "此有绕阻定子计划车间及仓库" & rs("铜线货品ID") & "漆包线桶数不足,请修改此计划", vbDefaultButton1     
              Set rs = Nothing      
              Set rs1 = Nothing      
              Exit Sub      
          End If         
       Next i   
到这以后,如何再让程序回到上面的判断
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-10 10:07 , Processed in 0.099355 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表