7. Данные в поле Количество, Ставка_НДС вводятся с клавиатуры.
8. Для того чтобы автоматически просчитывалась стоимость заказа по каждому виду товара, и это значение появлялось в поле Сумма_с_НДС, пишем процедуру по событию для поля ставка_НДС – после обновления:
Private Sub ставка_НДС_AfterUpdate()
Me.Сумма_с_НДС = Me.цена * Me.количество + Me.цена * Me.ставка_НДС / 100
End Sub
9. По нажатию кнопки Добавитиь_данные_о_товаре в форме «Новый_товар» данные, введённые в текстовые поля формы должны заноситься в таблицу «Товар»:
Private Sub Добавить_данные_о_товаре_Click()
Dim basa As Database, nabor As Recordset
Set basa = CurrentDb
Set nabor = basa.OpenRecordset("Товар", dbOpenTable)
With nabor
AddNew
.Fields!товар = Me.товар.Value
.Fields!поставщик = Me.поставщик.Value
.Fields!Адрес_поставщика = Me.Адрес_поставщика.Value
.Fields!цена = Me.цена.Value
.Fields!№счета_поставщика = Me.№счета_поставщика.Value
Update
Close
End With
Set basa = Nothing
DoCmd.Close acForm, "Новый_товар"
End Sub
10. По нажатию кнопки Итог в текстовом поле Итого должно
печататься значение суммарной стоимости заказа:
Private Sub итог_Click()
Dim basa As Database, nabor As Recordset, s As Currency
Set basa = CurrentDb
Set nabor = basa.OpenRecordset("Промежуточная", dbOpenForwardOnly)
With nabor
Do Until.EOF
If IsNull(.Fields!цена) Then Exit Do
s = s +.Fields!Сумма_с_НДС
MoveNext
Loop
End With
Me.Итого.Value = Str(s)
Set basa = Nothing
End Sub
11. По нажатию кнопки Сохранить данные о клиенте, исполнителе, дате заказа, поставщике, товаре, цене, об общей стоимости заказа должны заносится соответственно в таблицы «Анализ данных» и «Анализ данных1»:
Private Sub Сохранить_Click()
Dim basa As Database, nabor As Recordset, nabor1 As Recordset, zacaz As Integer
Set basa = CurrentDb
Set nabor = basa.OpenRecordset("Анализ данных", dbOpenTable)
With nabor
AddNew
.Fields!клиент = Me.клиент.Value
.Fields!исполнитель = Me.исполнитель.Value
.Fields!дата_заказа = Me.Дата.Value
.Fields!Сумма_заказа = Val(Me.Итого.Value)
zacaz =.Fields!№_заказа
Update
Close
End With
Set nabor = basa.OpenRecordset("Анализ данных1", dbOpenTable)
Set nabor1 = basa.OpenRecordset("Промежуточная", dbOpenTable)
With nabor
Do Until IsNull(nabor1.Fields!Товар)
AddNew
.Fields!Товар = nabor1.Fields!Товар
.Fields!Поставщик = nabor1.Fields!Поставщик
.Fields!Цена = nabor1.Fields!Цена
.Fields!№_заказа = zacaz
Update
Nabor1.MoveNext
Loop
Close
End With
12. По событию Открытие формы пишем процедуру, в которой будет
произведена очистка бланка заказа: