 
        
        Содержание лабораторной работы
Решается задача обработки поступления товаров на склад. База данных должна содержать две таблицы. Входная информация для решения задачи содержится в таблице «Наличие», а выходная – в таблице «Накладные». При решении этой задачи должна корректироваться запись входной таблицы "Наличие" и добавляться новая запись в выходную таблицу "Накладные".
Справочная информация о товарах, хранящихся на складе, имеется в таблице “Наличие”, содержащей следующие данные:
- Код товара 
- Наименование товара 
- Остаток 
- Дата 
- Единицы измерения 
В форму осуществляется ввод информации о каждой поступившей на склад партии товаров:
- номер накладной 
- код товара 
- дата поступления 
- количество 
В таблице "Наличие" осуществляется поиск записи с введенным кодом детали. Если искомая запись найдена, то программа должна предусмотреть выполнение следующих операций:
- Произвести корректировку найденной записи в таблице "Наличие", заключающуюся в добавлении к значению поля "Остаток" введенного значения "количество" и в замещении значения поля "Дата" на введенное значение "дата поступления" 
- Добавить новую запись в таблицу "Накладные". 
Выходная таблица имеет следующий состав полей:
- Номер накладной 
- Код товара 
- Дата поступления 
- Количество 
Выполнение лабораторной работы
- Загрузите ACCESS. 
- Создайте таблицу «Наличие» и введите данные по пяти товарам. 
- Создайте таблицу «Накладные». 
- Создайте форму следующего вида: 
 
  
Задайте имена кнопкам соответственно: ОК и Выход, задайте имена полям соответственно: Номер накладной - nn, Код товара -kt, Дата поступления - dp, Количество -kp.
- В окне свойств кнопки Ok на вкладке События выберите значение Процедура обработки события и здесь же нажмите кнопку (с тремя точками). 
- Введите текст процедуры в модуле формы «Поступление»: 
Private Sub Ok_Click()
On Error GoTo Err_Ok_Click
n = nn.Value
t = kt.Value
d = dp.Value
k = kp.Value
Obrabotka
nn.Value = Null
kt.Value = Null
dp.Value = Null
kp.Value = Null
Exit_Ok_Click:
Exit Sub
Err_Ok_Click:
MsgBox Err.Description
Resume Exit_Ok_Click
End Sub
- В секцию General введите следующие описания: 
Option Compare Database
Option Explicit
Dim n As String
Dim t As String
Dim d As Date
Dim k As Single
- Действуя по аналогии с п.3,4 введите текст процедуры обработки события Click для кнопки Выход: 
Private Sub Выход_Click()
On Error GoTo Err_Выход_Click
DoCmd.Close
Exit_Выход_Click:
Exit Sub
Err_Выход_Click:
MsgBox Err.Description
Resume Exit_Выход_Click
End Sub
- В окне VBA выполните команду Insert\Procedure и затем в окне Add procedure введите имя Obrabotka и выберите тип function. 
Function Obrabotka ()
Dim dbs As Database
Dim rst As Recordset
Dim nst As Recordset
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("Наличие")
Set nst = dbs.OpenRecordset("Накладные")
rst.MoveFirst
Do Until rst.EOF
If t = rst![Код товара] Then
rst.Edit
rst![Остаток] = rst![Остаток] + k
rst![Дата] = d
rst.Update
nst.AddNew
nst![Номер накладной] = n
nst![Код товара] = t
nst![Дата поступления] = d
nst![Количество] = k
nst.Update
End If
rst.MoveNext
Loop
End Function
- Выполните созданное приложение, вводя данные в поля формы "Поступление" и нажимая после каждого заполнения полей кнопку Ok. 
