1234

ExcelHome技术论坛

用户名  找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

帖子
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 221|回复: 0

[求助] 请帮助看看如果子窗体行都完成入库后,订单状态锁定,谢谢

[复制链接]

TA的精华主题

TA的得分主题

发表于 2025-1-11 12:21 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
请老师看看例子中的PO明细中子窗体入库完成,行入库状态锁定,这个订单的状态就锁定,子窗体不能增加和编辑数据,
如果行没有完成入库,整个订单不能锁定


Private Sub Qty_receive_AfterUpdate()
On Error GoTo Err_Qty_receive_AfterUpdate  '20131106  重新定义收货方法
'Qty_receive

    Dim x As Integer
    Dim y As Long
     Dim SQLText As String
      Dim Step As Integer
    If Me.Qty_receive = 0 Then Exit Sub
   
    x = Me.Received_TotalofQty + Me.Qty_receive
   
    If x > Me.Qty_Order Then         '收货数量>订单数量
        MsgBox "收货数量合计已超过本单订货数量。请重新输入。", vbCritical, "提示"
        Me.Qty_receive = 0
        x = 0
        Me.Qty_Order.SetFocus
        Me.Qty_receive.SetFocus
        Exit Sub
    End If
    If x = Me.Qty_Order Then     '收货数量=订单数量
   
    Step = 1
        SQLText = "UPDATE [tblProduct_Stock_Remote] SET [tblProduct_Stock_Remote].[Real_Qty] =Forms![frmPurchase_Order]![SubPo].Form![Qty_receive]+[tblProduct_Stock_Remote]![Real_Qty]WHERE ((([tblProduct_Stock_Remote].[ITEM])=Forms![frmPurchase_Order]![SubPo].Form![Parts No]));"
         DoCmd.RunSQL SQLText
    Step = 2
        SQLText = "INSERT INTO [tblStockIn/Out_Remote] ( [Item], [Date], In_Out, [ID Motive], Quantity)" 'NOTE
        SQLText = SQLText + "SELECT Forms![frmPurchase_Order]![SubPo].Form![Parts No] AS [Item], date() AS [Date], 'I' AS [IN_Out], '03' AS [ID Motive], Forms![frmPurchase_Order]![SubPo].Form![Qty_receive] AS [Quantity];" ',Forms![frmPurchase_Order]![SubPo].Form![TEXT20] AS [NOTE];"
         DoCmd.RunSQL SQLText
      '  SQLText = "INSERT INTO [tblStockIn/Out_Remote] ([note])"
       ' SQLText = SQLText + "SELECT Forms![frmPurchase_Order]![PO_No] AS [Quantity];"
         DoCmd.RunSQL SQLText
        Me.Received_TotalofQty = x
        Me.No_Receving_Qty = [Qty_Order] - [Received_TotalofQty]
        Me.Received_Date = Date
        
        Me.Qty_receive = 0
        Me.Received_TotalofQty.SetFocus
       ' Me.Qty_receive.Enabled = False
        Me.Receive_Status.Locked = True
        
    MsgBox "这个物料已完成收货"
    Else                              '收货数量<订单数量
        y = MsgBox("收货数量小于本单订货数量,是否确定属于分批收货?", vbYesNo + vbQuestion, "提示")
        If y = vbNo Then
           
            Me.Qty_Order.SetFocus
            Me.Qty_receive.SetFocus
            x = 0
            Exit Sub
        Else
        Step = 1
           SQLText = "UPDATE [tblProduct_Stock_Remote] SET [tblProduct_Stock_Remote].[Real_Qty] =Forms![frmPurchase_Order]![SubPo].Form![Qty_receive]+[tblProduct_Stock_Remote]![Real_Qty]WHERE ((([tblProduct_Stock_Remote].[ITEM])=Forms![frmPurchase_Order]![SubPo].Form![Parts No]));"
           DoCmd.RunSQL SQLText
        Step = 2
            SQLText = "INSERT INTO [tblStockIn/Out_Remote] ( [Item], [Date], In_Out, [ID Motive], Quantity)"   'NOTE
            SQLText = SQLText + "SELECT Forms![frmPurchase_Order]![SubPo].Form![Parts No] AS [Item], date() AS [Date], 'I' AS [IN_Out], '03' AS [ID Motive], Forms![frmPurchase_Order]![SubPo].Form![Qty_receive]  AS [Quantity];" ',Forms![frmPurchase_Order]![SubPo].Form![TEXT20] AS [NOTE];"
             DoCmd.RunSQL SQLText

        Me.Received_TotalofQty = x
        Me.No_Receving_Qty = [Qty_Order] - [Received_TotalofQty]
        Me.Received_Date = Date
            'Me.Qty_receive = 0
        End If
    End If
     Me.Qty_receive = 0
     Me.Requery

Exit_Qty_receive_AfterUpdate:
    Exit Sub

Err_Qty_receive_AfterUpdate:
    Resume Exit_Qty_receive_AfterUpdate

'xxxxxxxxxxxxxxxxxxxxxxxxxxxx
If Me.Qty_receive = "" Then
        Me!Received_Date = ""
        Else
        Me!Received_Date = Date
    End If
  If Me.Received_TotalofQty = Me.Qty_Order Then
    Me.Receive_Status.Locked = True
     Else
     Me.Receive_Status.Locked = False
End If


End Sub

123.JPG

低值易耗品_分批收货2050111.zip

367.08 KB, 下载次数: 3

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

1234

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-3-29 16:13 , Processed in 0.029399 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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