Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пос_БД_SQL_Server_Access.doc
Скачиваний:
9
Добавлен:
01.03.2025
Размер:
2.41 Mб
Скачать

Пример 11. Поиск записей по дате поступления (не ключевое поле) в таблице Поставка и вывод найденных записей.

'определение объектных переменных

Dim dbs As Database

Dim rst As Recordset

'определение полей для ввода ключей

Dim dp As Date

'запись в dbs ссылки на текущую базу данных

Set dbs = CurrentDb()

'запись в rst ссылки на таблицу Поставка

Set rst = dbs.OpenRecordset("Поставка", dbOpenTable)

'ввод даты поступления для поиска

dp = InputBox("Введите дату поступления", "Ввод параметров поиска")

'цикл, работающий пока таблица не закончилась

Do While Not rst.EOF

'сравнение введенной даты поставки с датой поставки из записи таблицы

If dp = rst![Дата поступления] Then

'вывод найденной записи

MsgBox " Индекс товара " & rst![Индекс товара] & " Дата поступления " & _

rst![Дата поступления] & " Количество " & rst![Количество], vbOKOnly

End If

'переход на следующую запись

rst.MoveNext

'конец цикла

Loop

Пример 12. Поиск записей по индексу товара в таблице Товары и замена поля Розничная цена.

'определение объектных переменных

Dim dbs As Database

Dim rst As Recordset

'определение полей для поиска данных

Dim it As Integer

'запись в dbs ссылки на текущую базу данных

Set dbs = CurrentDb()

'запись в rst ссылки на таблицу Товары

Set rst = dbs.OpenRecordset("Товары", dbOpenTable)

'ввод индекса товара для поиска

it = InputBox("Введите индекс товара", "Ввод параметров поиска")

'цикл, работающий пока таблица не закончилась

Do While Not rst.EOF

'сравнение введенного индекса товара с индексом товара из записи таблицы

If it = rst![Индекс товара] Then

'вывод найденной записи

MsgBox " Индекс товара " & rst![Индекс товара] & " Розничная цена " & _

rst![Розничная цена], vbOKOnly

rst.Edit

rst![Розничная цена] = InputBox("Введите новую розничную цену")

'обновление записи

rst.Update

MsgBox "Замена розничной цены произведена", vbOKOnly

End If

'переход на следующую запись

rst.MoveNext

'конец цикла

Loop

Пример 13. Поиск записей в таблице Товары для записей, где поле Розничная цена меньше заданной.

'определение объектных переменных

Dim dbs As Database

Dim rst As Recordset

'определение полей для поиска данных

Dim cena As Currency

'запись в dbs ссылки на текущую базу данных

Set dbs = CurrentDb()

'запись в rst ссылки на таблицу Товары

Set rst = dbs.OpenRecordset("Товары", dbOpenTable)

‘ввод розничной цены для сравнения

cena = InputBox("Введите розничную цену", "Ввод параметров поиска")

‘цикл, работающий пока таблица не закончилась

Do While Not rst.EOF

'сравнение розничных цен

If rst![Розничная цена] <= cena Then

'вывод найденной розничной цены

MsgBox " Наименование " & rst![Наименование] &

" Розничная цена " & rst![Розничная цена], vbOKOnly

End If

'переход на следующую запись

rst.MoveNext

'конец цикла

Loop

  1. Управление приложением пользователя

Наличие большого количества объектов (таблиц, форм, запросов, отчетов, макросов, модулей), не сгруппированных по функциям приложения, затрудняет выполнение пользователем задач обработки данных в автоматизируемой предметной области.

Для организации эффективной работы пользователя нужно создать целостное приложение данной предметной области, все компоненты которого должны быть сгруппированы по функциональному назначению. При этом необходимо обеспечить удобный графический интерфейс пользователя.

Для объединения объектов в едином диалоговом приложении могут быть созданы так называемые кнопочные формы. Кнопочная форма является панелью управления приложением. Кнопки такой формы обеспечивают вызов других кнопочных форм, а также отдельных объектов: отчетов, форм, макросов, модулей. Сюда же помещаются кнопки для возврата к кнопочным формам предыдущих уровней, выхода из Access. Обычно также предусматривается кнопка для изменений самой кнопочной формы.