русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-07-09; просмотров: 574; Нарушение авторских прав


Вкладка Формы, кнопка Создать, Конструктор, источник данных таблица Поставщики, ОК.

Добавить заголовок формы (Вид, Заголовок/примечание формы) и внести в заголовок формы надпись «Выборка поставщиков по заданному городу».

В области данных создать элемент – поле со списком (использовать кнопку Поле со списком; значение выбирается из таблицы; источник данных – таблица Города; выбрать поле Города; задать нужную ширину столбца или согласиться с предложенной; значение Запомнить; ввести подпись поля Город, кнопка Готово).

Выделить созданное поле, открыть окно свойств, выбрать вкладку События, выбрать событие После обновления, кнопка (Построить), Программа, ОК.

Внести текст процедуры.

 

'Определение строковых переменных

Dim StrDocName As String

Dim StrLinkCriteria As String

Dim Otvet As String

Otvet = MsgBox("Вас интересуют поставщики из города " & Me![ПолеСоСписком4] & "?", vbOKCancel)

If Otvet = vbCancel Then

Exit Sub

End If

StrDocName = "Поставщики"

StrLinkCriteria = "[Город] = Forms![Поставщики_Города]![ПолеСоСписком4]"

'Открытие формы, имя которой и условие

'отбора записей указано параметрами

DoCmd.OpenForm StrDocName, , , StrLinkCriteria

Exit Sub

 

Пример 6. Открыть таблицу Товары, прочесть и вывести на экран все записи.

 

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

Dim dbs As Database

Dim rst As Recordset

Set dbs = CurrentDb()

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

Do Until rst.EOF

MsgBox rst![Индекс товара] & " " & rst![Наименование] & _

" " & rst![Розничная цена] & " " & rst![Сортность], vbOKOnly

rst.MoveNext

Loop

 

Пример 7. Выбор записей из таблицы Поставка для товара с кодом 123.



 

Dim dbs As Database

Dim rst As Recordset

Dim sqlq As String

Set dbs = CurrentDb()

sqlq = "Select Поставка.* From Поставка WHERE [Индекс товара] = 123"

Set rst = dbs.OpenRecordset(sqlq)

If rst.RecordCount = 0 Then

MsgBox "Такой индекс товара не найден", vbOKOnly

Else

Do Until rst.EOF

MsgBox "Индекс товара " & rst![Индекс товара] & " " _

& " Количество " & rst![Количество] & " " & _

" Закупочная цена " & rst![Закупочная цена], vbOKOnly

rst.MoveNext

Loop

End If

Пример 8. Выбор данных из связанных таблиц Товары и Поставка, связанных по индексу товара.

 

Dim dbs As Database

Dim rst As Recordset

Set dbs = CurrentDb()

Set rst = dbs.OpenRecordset("Select Товары.[Индекс товара],Товары.Наименование, Поставка.Количество" & _

" From Товары Inner Join Поставка On Товары.[Индекс товара] = Поставка.[Индекс товара]")

Do Until rst.EOF

MsgBox "Индекс товара " & rst![Индекс товара] & " " _

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

" Количество " & rst![Количество], vbOKOnly

rst.MoveNext

Loop

Пример 9. Выбор данных из трех связанных таблиц Товары, Поставщики и Поставка.

Dim dbs As Database

Dim rst As Recordset

Set dbs = CurrentDb()

Set rst = dbs.OpenRecordset("Select Поставщики.Поставщик,"& _

" Товары.Наименование, Поставка.[Дата поступления]," & _

" Поставка.Количество" & _

" From Товары Inner Join (Поставщики Inner Join Поставка " & _

" On Поставщики.[Код поставщика]= Поставка.[Код поставщика])" & _

" On Товары.[Индекс товара] = Поставка.[Индекс товара]")

Do Until rst.EOF

MsgBox "Поставщик " & " " & rst![Поставщик] & _

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

& " Дата поступления " & rst![Дата поступления] & " " & _

" Количество " & rst![Количество], vbOKOnly

rst.MoveNext

Loop

 

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

 

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

Dim dbs As Database

Dim rst As Recordset

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

Dim nt As String

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

Set dbs = CurrentDb()

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

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

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

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

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

Do While Not rst.EOF

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

If nt = rst![Наименование] Then

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

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

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

End If

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

rst.MoveNext

'конец цикла

Loop

 

Пример 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

 

 

УПРАВЛЕНИЕ ПРИЛОЖЕНИЕМ ПОЛЬЗОВАТЕЛЯ

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

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

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

Создание панели управления приложением



<== предыдущая лекция | следующая лекция ==>
Выполнение процедур VBA | С помощью диспетчера


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.338 сек.