【发布时间】:2012-01-23 01:32:30
【问题描述】:
我正在为一个正在访问的项目制作一个收款系统,但我遇到了障碍。
背景 按钮中涵盖了多种形式。单击按钮将数据添加到表 (TblCurSale),包括项目的描述和价格。每个表单还有一个“总计”按钮,可将您发送到付款屏幕,这样做会将 TblCurSale 中的数据复制到另一个表 (TblCalc)
TblCalc 有列 SaleID、Item(项目名称)、SalePrice。报表自动添加销售价格列
总表上有两个子报表,TBLCurSale 和 TblCalc。
在总屏幕上有一个文本字段,用户在其中输入钱,然后按支付,将这个数字作为负数输入到 TblCalc 中,然后刷新页面,以便出现新的总数。在子报告的底部。
问题 我需要一个 IF vba 代码,以便在 SalePrice 列的总和
Private Sub Pay_Click()
Dim SQLPay As String
Dim SQLToTable As String
Dim SQLMoney As Variant
SQLPay = "INSERT INTO TblCalc(SalePriceTotal) VALUES (-'" & TxtPayment & "')"
SQLToTable = "INSERT INTO TblTotalSale (CurrentSaleID, SalePrice, Item) SELECT CurrentSaleID, SalePrice, Item FROM TblCurrentSale"
SQLMoney = "IF (SUM(SalePriceTotal) FROM TblCalc) <= 0 SELECT '1' ELSE '0'"
DoCmd.SetWarnings False
DoCmd.RunSQL SQLPay
DoCmd.RunSQL SQLMoney
If SQLMoney = 1 Then
DoCmd.RunSQL SQLToTable
Me.TxtPayment = ""
Me.Refresh
DoCmd.OpenReport "rptCalc"
Else
Me.TxtPayment = ""
Me.Refresh
Me.Refresh
End If
DoCmd.SetWarnings True
End Sub
【问题讨论】: