End If
End Sub
Private Sub Поле4_LostFocus()
If (Me.Поле4.text = "") Then
MsgBox ("Введите ноаер паспорта пациента")
Me.Кнопка18.Enabled = False
flag3 = 1
Else
flag3 = 0
Me.Кнопка18.Enabled = True
End If
End Sub
Private Sub Поле7_LostFocus()
If (Me.Поле7.text = "") Then
MsgBox ("Введите домашний адрес")
Me.Кнопка18.Enabled = False
flag4 = 1
Else
flag4 = 0
Me.Кнопка18.Enabled = True
End If
End Sub
Private Sub ПолеСоСписком12_LostFocus()
If (Me. ПолеСоСписком 12.text = "") Then
MsgBox ("Выберите пол пациента")
Me.Кнопка18.Enabled = False
flag5 = 1
Else
flag5 = 0
Me.Кнопка.Enabled = True
End If
End Sub
Форма 2. Организация процесса приема больного: выбор больного (при этом должны отобразиться данные об его предыдущих заболеваниях и датах сдачи крови и флюорографии), указание болезни (если ею занимается не терапевт, то направление больного к специалисту, в противном случае назначение даты повторного прихода и лечение);
Рис. 9.
Для блокировки даты перенаправления при обращении с болезнью, которую лечит терапевт, и блокировки дат повторного прихода и выздоровления при обращении с болезнью, которую терапевт не лечит, на событие «После обновления» поля со списком ilnessID написана следующая процедура:
Private Sub ilnessID_AfterUpdate()
Set db = CurrentDb
Set REC = db.OpenRecordset("Illness", dbOpenDynaset)
REC.MoveFirst
Do Until REC.EOF
If Me.ilnessID = REC.[illnessID] And REC.[SpecID] = 2 Then
Me.OkDate.Enabled = True
Me.ComingAgainDate.Enabled = True
Me.GoAwayDate.Enabled = False
GoTo M
Else
Me.GoAwayDate.Enabled = True
Me.OkDate.Enabled = False
Me.ComingAgainDate.Enabled = False
End If
REC.MoveNext
Loop
M:
If IsNull(Me.ComingAgainDate) Or IsNull(Me.OkDate) Or IsNull(Me.GoAwayDate) Then
MsgBox ("Введите даты")
Forms("Form2drug").Поле16 = Me.ilnessID
REC.Close
db.Close
End Sub
Для организации приема не только старых, но и новых пациентов, которых нет в таблице patient, при внесении новой фамилии организован автоматический вызов формы1 для внесения данных о новом пациенте. Вызов организуется с помощью следующего кода:
Private Sub ПолеСоСписком0_NotInList(NewData As String, Response As Integer)
If NotInList("ПолеСоСписком0", NewData) Then
DoCmd.OpenForm "new1"
Response = acDataErrAdded
End If
End Sub
Function NotInList(text As String, ByRef NewData As String) As Boolean
NotInList = False
otvet = MsgBox("Добавить новый" & NewData & " ?", vbOKCancel, " Подтверждение добавления")
If otvet = vbOK Then
NotInList = True
End If
End Function
Форма 3. Просмотр и редактирование списка лекарств и процедур для выбранной болезни (которой занимается терапевт);
Рис. 10.
Форма 4. Изменение данных о пациенте.
Рис. 11.
Список литературы
1. Горев а., Ахаян Р., Макашарипов С. Эффективная работа с СУБД. – СПб.: Питер, 19997. – 704 с.
2. Дейт К. Дж. Введение в системы баз данных, 6-е издание: Пер. с англ. – К.; М.; СПб.: Издательский дом «Вильямс», 2000. – 848 с.
3. Джексон Г. Проектирование реляционных баз данных для использования с микроЭВМ: Пер. с англ. – М.: Мир, 1991. – 252 с.
4. Диго С.М. Проектирование и использование баз данных: Учебник. – М.: Финансы и статистика, 1995. – 208 с.
5. Коннолли Т., Бегг К., Страчан А. Базы данных: проектирование, реализация и сопровождение. Теория и практика, 2-е изд.: Пер. с англ.: Уч. пос. – М.: Издательский дом «Вильямс», 2000. – 1120 с.
6. Мейер Д. Теория реляционных баз данных: Пер. с англ. – М.: Мир, 1987. – 608 с.
7. Хансен Г., Хансен Д. Базы данных: разработка и управление: Пер. с англ. – М.:ЗАО «Издательство БИНОМ», 1999. – 704 с.
8. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных: Учебник для высших учебных заведений / Под ред. Проф. А.Д. Хомоненко. – СПб.: КОРОНА принт, 2000. – 416 с.
9. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных: Учебник для высших учебных заведений / Под ред. Проф. А.Д. Хомоненко. – Издание второе, дополненное и переработанное – СПб.: КОРОНА принт, 2002. – 672 с.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.