Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Справочными называются те таблицы, из которых только выходят связи типа один.
Задание 3.1. Создание формы по таблице Банки. Создать с помощью мастера форму по таблице Банки в столбец. Сохранить с названием Банки. Сделаем управляющие кнопки. В разделе Примечание формы создать кнопки без мастера со следующими названиями (см. рис.), создать список (в свойстве Имя написать ПолеСоСписком), в котором отображаются значения столбца Название (из таблицы Банки), а также создать флажок (в свойстве Имя флажка написать Флажок1) с подписью (см. рис.).
!!! У всех полей и выпадающих списков изменить свойство Блокировка на ДА.
Изменить следующие свойства формы: Кнопки перехода – Нет Кнопка закрытия – Нет Кнопки размеров экрана – Отсутствуют Изменить следующие свойства флажка: Значение по умолчанию – 0
Обратите внимание, что каждая кнопка в свойстве Имя должна иметь названия без пробелов такие, как: КнопкаНаВерх, КнопкаНаПредыдущую, КнопкаНаСледующую, КнопкаНаПоследнюю, КнопкаДобавить, КнопкаОтменить, КнопкаСохранить, КнопкаНачатьРедактирование, КнопкаУдалить, КнопкаЗакрыть. Обратите внимание, что поле со списком в примечании формы в свойстве Имя должно иметь название ПолеСоСписком, а элемент флажок в свойстве Имя – Флажок1.
Создайте для каждой кнопки в событии Нажатие кнопки новую программу, в которой напишите соответствующий код для каждой кнопки. Для кнопки КнопкаНаВерх: DoCmd.GoToRecord,, acFirst Для кнопки КнопкаНаПредыдущую: DoCmd.GoToRecord,, acPrevious
Для кнопки КнопкаНаСледующую: DoCmd.GoToRecord,, acNext
Для кнопки КнопкаНаПоследнюю: DoCmd.GoToRecord,, acLast
Для кнопки КнопкаДобавить: If MsgBox(«Добавить запись?», vbYesNo) = vbYes Then DoCmd.GoToRecord,, acNewRec Dim i As Integer For i = 0 To Me.Count - 1 If Me.Controls(i).ControlType = acTextBox Or Me.Controls(i).ControlType = acComboBox Then Me.Controls(i).Locked = False End If If Me.Controls(i).ControlType = acCommandButton And UCase(Me.Controls(i).Name) < > UCase(" КнопкаДобавить") Then Me.Controls(i).Enabled = False End If next Me.КнопкаСохранить.Enabled = True Me.КнопкаОтменить.Enabled = True Else 'действие по добавлению отменено End If
Для кнопки КнопкаОтменить: Dim i As Integer For i = 0 To Me.Count - 1 If Me.Controls(i).ControlType = acTextBox Or Me.Controls(i).ControlType = acComboBox Then Me.Controls(i).Locked = True End If If Me.Controls(i).ControlType = acCommandButton Then Me.Controls(i).Enabled = True End If Next DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo,, acMenuVer70
Для кнопки КнопкаСохранить: Dim i As Integer For i = 0 To Me.Count - 1 If Me.Controls(i).ControlType = acTextBox Or Me.Controls(i).ControlType = acComboBox Then Me.Controls(i).Locked = True End If If Me.Controls(i).ControlType = acCommandButton Then Me.Controls(i).Enabled = True End If Next
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord,, acMenuVer70
Для кнопки КнопкаНачатьРедактирование: Dim i As Integer For i = 0 To Me.Count - 1 If Me.Controls(i).ControlType = acTextBox Or Me.Controls(i).ControlType = acComboBox Then Me.Controls(i).Locked = False End If If Me.Controls(i).ControlType = acCommandButton And UCase(Me.Controls(i).Name) < > UCase(" КнопкаНачатьРедактирование") Then Me.Controls(i).Enabled = False End If Next Me.КнопкаСохранить.Enabled = True Me.КнопкаОтменить.Enabled = True
Для кнопки КнопкаУдалить: If MsgBox(«Удалить запись?», vbYesNo) = vbYes Then DoCmd.DoMenuItem acFormBar, acEditMenu, 8,, acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 6,, acMenuVer70 Else ‘действие отменено End if
Для кнопки КнопкаЗакрыть: Dim str As String str = CStr(Me.Name) DoCmd.Close acForm, str, acSavePrompt Для поля ПолеСоСписком в событии Получение фокуса: Me.ПолеСоСписком.Requery Для поля ПолеСоСписком в событии После обновления: DoCmd.GoToRecord,, acFirst Do While Me.Название < > Me.ПолеСоСписком DoCmd.GoToRecord,, acNext Me.Repaint Loop Для флажка Флажок1 в событии После обновления: If Me.Флажок1 = 0 Then Me.ПолеСоСписком.Locked = True Else Me.ПолеСоСписком.Locked = False End If
Задание 3.2 Создание формы по таблице Грузопередатчики. Откройте форму Банки в режиме конструктора и сохраните как форму с названием Грузопередатчики. Удалите все поля и подписи. Измените следующие свойства формы: Источник записей – Грузопередатчики Подпись – Грузопередатчики
В область данных из списка полей (в меню Вид – список полей) перенести все поля. Для полей установить свойство: Блокировка - Да
Для ПолеСоСписком заменить свойство Источник строк так, чтобы он брал значения из поля Наименование таблицы Грузопередатчики. Измените событие После обновления у элемента ПолеСоСписком. Для поля ПолеСоСписком в событии После обновления: DoCmd.GoToRecord,, acFirst Do While Me. Наименование < > Me.ПолеСоСписком DoCmd.GoToRecord,, acNext Me.Repaint Loop
Задание 3.3. Создание формы по таблице Товары и услуги. Откройте форму Банки в режиме конструктора и сохраните как форму с названием Товары и услуги. Удалите все поля и подписи. Измените следующие свойства формы: Источник записей – Товары и услуги Подпись – Товары и услуги
В область данных из списка полей (в меню Вид – список полей) перенести все поля. Для полей установить свойтсво: Блокировка - Да
Для ПолеСоСписком заменить свойство Источник строк так, чтобы он брал значения из поля Наименование товара или услуги таблицы Товары и услуги. Измените событие После обновления у элемента ПолеСоСписком. Для поля ПолеСоСписком в событии После обновления: DoCmd.GoToRecord,, acFirst Do While Me. [Наименование товара или услуги] < > Me.ПолеСоСписком DoCmd.GoToRecord,, acNext Me.Repaint Loop
Самостоятельная работа 3. Создание форм ввода/ вывода данных по справочным таблицам. По выданному варианту документа, после построения схемы данных, выберите таблицы типа «справочник первого уровня» (из таких таблиц выходит связь типа «один» и не подходит связей типа «много») и создайте для каждой из них форму с кнопками, код для которых возьмите из примера формы Банки.
Задание 4. Создание форм ввода/ вывода данных по одиночным таблицам, которые используют справочную информацию из других таблиц (из справочников первого уровня).
|