Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

付款金额分摊? 根据付款金额的钱 分摊到出入库单据上

nihao666  发表于:2021-05-31 16:08:37  
复制





Private Sub btnFentan_Click() '分摊付款金额,进货_退货

  On Error GoTo ErrorHandler
 Dim cnn           As Object
 Dim rstTmp        As Object
 Dim blnTransBegin As Boolean
 Dim AMT_X  As Currency
 If Me![AMT].Value < 0 Or Me![AMT] = "" Or Me![BANK] = "" Then
     Exit Sub
 End If 
   Set cnn = CurrentProject.Connection
    cnn.BeginTrans: blnTransBegin = True
  '主窗体金额控件传递给变量 AMT_X 
    Set rstTmp = CurrentDb.OpenRecordset("select * from TMP_FK_TF order by sfgx*amt desc")
    AMT_X = Eval(Me![AMT])   
  Do Until rstTmp.EOF
        rstTmp.Edit
   If rstTmp![SFGX] = -1 Then '应付时
      If rstTmp![AMT] - rstTmp![AMT_FI] <= AMT_X Then  'abs (未付金额) <= AMT_X 
       rstTmp![AMT_NOW] = rstTmp![AMT] - rstTmp![AMT_FI] '现付金额= abs (未付金额)
          Else: rstTmp![AMT_NOW] = AMT_X   '否则 现付金额= AMT_X 
      End If
       AMT_X = AMT_X - rstTmp![AMT_NOW]  '剩余金额
   Else
    rstTmp![AMT_NOW] = rstTmp![AMT] - rstTmp![AMT_FI] '现付金额= abs (未付金额)
    AMT_X = AMT_X + rstTmp![AMT_NOW] '剩余金额   
    End If    
        rstTmp.Update
        rstTmp.MoveNext                   
    Loop
   rstTmp.Close
    Set rstTmp = Nothing
   cnn.CommitTrans: blnTransBegin = False 
    Me.sfrDetail.Requery
ExitHere:
   rstTmp.Close
   Set rstTmp = Nothing
   Set cnn = Nothing
    Exit Sub
ErrorHandler:
    If blnTransBegin Then
        cnn.RollbackTrans
        blnTransBegin = False
    End If
    MsgBoxEx Err.Description, vbCritical
    RDPErrorHandler Me.Name & ": Sub btnFentan_Click()"
    Resume ExitHere
End Sub

 

Top
总记录:0篇  页次:0/0 9 1 :