Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция по Ms Access.doc
Скачиваний:
92
Добавлен:
19.05.2015
Размер:
1.86 Mб
Скачать

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. По событию Открытие формы пишем процедуру, в которой будет

произведена очистка бланка заказа:

Private Sub Form_Open(Cancel As Integer)

Dim basa As Database, nabor As Recordset

Set basa = CurrentDb

Set nabor = basa.OpenRecordset("Промежуточная", dbOpenTable)

Me.исполнитель.Value = Null

Me.клиент.Value = Null

Me.№счета_клиента.Value = Null

Me.Итого.Value = Null

Me.Адрес_клиента.Value = Null

Me.телефон.Value = Null

With nabor

.MoveFirst

Do

.Edit

.Fields!Товар = Null

.Fields!Поставщик = Null

.Fields!Цена = Null

.Fields!количество = Null

.Fields!ставка_НДС = Null

.Fields!Сумма_с_НДС = Null

.Update

.MoveNext

Loop While Not IsNull(.Fields!Цена)

Me.Refresh

End With

End Sub

Далее создадим панель инструментов с двумя кнопками с тем, чтобы бланк заказа был готов к печати для оплаты заказа и обратно: оформление заказа.

Выполняем следующие действия:

1.Сервис/Настройка/Панели инструментов/Создать

2. Меняем стандартное название Настраиваемая1 на Режимы работы

3. Вкладка Команды. Ставим две кнопки на нашу панель инструментов.

4. Даем им названия: Работа, Печать. Выбираем значки на кнопки.

Всё это делается в контекстном меню.

5. Далее назначаем выполняемое действие. Для этого пишем две функции

с использованием свойства Visible для всех кнопок в форме «Бланк».

Функция r() устанавливает все кнопки видимыми.

Public Function r()

Dim frm As Form_бланк

Set frm = Forms!бланк

frm.Клиенты.Visible = True

frm.Добавить_клиента.Visible = True

frm.Добавить_товар.Visible = True

frm.Сохранить.Visible = True

frm.итог.Visible = True

frm.Товары.Visible = True

End Function

Функция p() устанавливает все кнопки невидимыми.

Public Function p()

Dim frm As Form_бланк

Set frm = Forms!бланк

frm.Клиенты.Visible = False

frm.Добавить_клиента.Visible = False

frm.Добавить_товар.Visible = False

frm.Сохранить.Visible = False

frm.итог.Visible = False

frm.Товары.Visible = False

End Function

В результате работы приложения для конкретного клиента бланк заказа к печати выглядит следующим образом :

Таблицы с сохраненными результатами выглядят так: