Я создаю кассовую систему для проекта в доступе, и я попал в блок.
Фон Есть множество форм, покрытых кнопками.Нажатие на кнопку добавляет данные в таблицу (TblCurSale), включая описание и цену товара.каждая форма также имеет кнопку «итого», которая отправляет вас на экран оплаты, при этом данные из TblCurSale копируются в другую таблицу (TblCalc)
TblCalc имеет столбцы SaleID, Item (название элемента), SalePrice,в отчет автоматически добавляется столбец цены продажи
. В итоговой форме есть два вложенных отчета: TBLCurSale и TblCalc.
На экране итогов есть текст, в котором пользователи вводят деньгиа затем нажмите pay, которые вводят этот показатель в TblCalc в виде отрицательного числа, а затем обновляет страницу, чтобы получить новый итог.в нижней части подотчета.
Проблема Мне нужен код IF vba, чтобы я мог поместить его так, чтобы при сумме столбца SalePrice <= 0 я мог выполнить несколько строккода.то, что у меня есть, ниже, так что любая помощь будет принята с благодарностью. </p>
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