Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Требуется создать процедуру ввода новой записи в таблицу Студенты учебной базы данных.
'Работа с записями таблицы - добавление
'Программа не проверяет корректность вводимых значений,
'не отслеживает нажатие кнопки Cancel,
'не осуществляет поиск дублирующих записей в поле КодСтудента 'таблицы "Студенты"
Sub добавление1()
Dim База, Запись As Variant
Set База = CurrentDb
Set Запись = База.OpenRecordSet("Студенты")
With Запись
.AddNew 'метод добавляет запись
![КодСтудента].Value = InputBox("Введите код", "Ввод", _
"141111")
![Фамилия].Value = InputBox("Введите фамилию студента", _
"Ввод", "Шариков")
![Имя].Value = InputBox("Введите имя", "Ввод", "Полиграф")
![Отчество].Value = InputBox("Введите отчество студента", _
"Ввод", "Полиграфович")
![ДатаРождения].Value = CDate(InputBox("Введите дату _
рождения", "Ввод", "01.02.01"))
![Адрес].Value = InputBox("Введите домашний адрес", "Ввод", _
"Москва, Петровка - 25")
![КодСпециальности].Value = InputBox("Введите код _
специальности", "Ввод", "У")
![Курс].Value = CInt(InputBox("Введите курс", "Ввод", "1"))
![Группа].Value = CInt(InputBox("Введите группу", "Ввод", "1"))
![Подгруппа].Value = CInt(InputBox("Введите подгруппу", _
"Ввод", "1"))
.Update 'метод сохраняет новую запись
.Close
End With
End Sub
Для осуществления проверки вводимых с клавиатуры значений и поиска дублирующих по значению ключевого поля записей разумно будет разделить ввод информации на два этапа: ввод данных с клавиатуры в структурную переменную и запись данных из оперативной памяти, где хранятся значения структурной переменной, в таблицу. Ниже приведенная программа реализует данный подход.
Option Compare Database
'тип данных Type Студент описывается в декларативной части 'модуля
Private Type Студент
Код As String * 5
Фам As String * 20
Имя As String * 10
Отч As String * 20
Д_Р As Date
Адр As String * 255
КодСпец As String * 1
Курс As Byte
Группа As Byte
Подгруппа As Byte
End Type
Sub добавление2()
Dim Экономист As Студент
Dim q, База, Запись As Variant
Set База = CurrentDb
Set Запись = База.OpenRecordSet("Студенты")
With Экономист
q = InputBox("Введите код", "Ввод", "02111")
'здесь может присутствовать проверка корректности 'введенного значения кода студента
If RTrim(q) = Empty Then Exit Sub Else.Код = q
q = InputBox("Введите фамилию студента", "Ввод", "Шариков")
'здесь может присутствовать проверка корректности 'введенного значения фамилии,
' и т.д.
If RTrim(q) = Empty Then Exit Sub Else.Фам = q
q = InputBox("Введите имя", "Ввод", "Полиграф")
If RTrim(q) = Empty Then Exit Sub Else.Имя = q
q = InputBox("Введите отчество студента", "Ввод", _
"Полиграфович")
If RTrim(q) = Empty Then Exit Sub Else.Отч = q
q = CDate(InputBox("Введите дату рождения", "Ввод", _
"01.02.01"))
If RTrim(q) = Empty Then Exit Sub Else.Д_Р = q
q = InputBox("Введите домашний адрес", "Ввод", "Москва, _
Петровка - 25")
If RTrim(q) = Empty Then Exit Sub Else.Адр = q
q = InputBox("Введите код специальности", "Ввод", "У")
If RTrim(q) = Empty Then Exit Sub Else.КодСпец = q
q = CInt(InputBox("Введите курс", "Ввод", "1"))
If RTrim(q) = Empty Then Exit Sub Else.Курс = q
q = CInt(InputBox("Введите группу", "Ввод", "1"))
If RTrim(q) = Empty Then Exit Sub Else.Группа = q
q = CInt(InputBox("Введите подгруппу", "Ввод", "1"))
If RTrim(q) = Empty Then Exit Sub Else.Подгруппа = q
End With
'Здесь может присутствовать проверка наличия дублирующих 'записей в поле ‘КодСтудента,
'для чего необходимо организовать поиск значения КодСтудента _
'в таблице Студенты,
'аналогичного значению, введенному с клавиатуры
With Запись
.AddNew
![КодСтудента].Value = Экономист.Код
![Фамилия].Value = Экономист.Фам
![Имя].Value = Экономист.Имя
![Отчество].Value = Экономист.Отч
![ДатаРождения].Value = Экономист.Д_Р
![Адрес].Value = Экономист.Адр
![КодСпециальности].Value = Экономист.КодСпец
![Курс].Value = Экономист.Курс
![Группа].Value = Экономист.Группа
![Подгруппа].Value = Экономист.Подгруппа
.Update
.Close
End With
End Sub
Дата публикования: 2014-11-04; Прочитано: 277 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!