- •1 Проектування бази диних
- •1.1 Аналіз предметної області
- •1.2 Розробка er-моделі
- •1.3 Нормалізація
- •1.4 Реалізація бази даних в субд
- •2 Програмна реалізація субд
- •2.1 Реалізація інтерфейсу
- •2.2 Реалізація sql-запитів
- •2.4 Реалізація обробки запитів
- •2.3 Реалізація роботи з таблицями.
- •2.5 Реалізація звітів
- •2.6 Створення автоматизованого документу
- •2.7 Захист бази даних та забезпечення цілісності
- •3 Аналіз результатів і розробка інструкцій по роботі
- •3.1 Інструкція з технічного обслуговування
- •3.2 Інструкції системного програміста
- •3.3 Інструкція програміста
- •3.4 Інструкції оператору
- •Висновки
- •Список використаних джерел
- •Додаток а Лістинг програми
- •Додаток б Приклади автоматизованого документу
- •1. Предмет домовленості
- •5. Термін дії договору
- •1. Предмет домовленості
- •5. Термін дії договору
Висновки
Дана курсова робота присвячена проектуванню бази даних за допомогою СУБД Access 2007 та створенню програми в середовищі MS Word 2007 для роботи з даною базою. Для реалізації програми вибрано мову програмування VBA. Для створення запитів використовується мова SQL.
У першому розділі був проведений аналіз предметної області, тобто досліджена організація роботи центрального ринку. Визнані сутності та спроектована ER-модель. Для кожного відношення ER-моделі була проведена нормалізація. Також у цьому розділі описана реалізація бази даних в середовищі MS Access 2007 та розроблена структура програми.
У другому розділі був описаний процес створення програми та додаткових документів. Розглянуті графічно створені форми та ключові фрагменти коду. Також у цьому розділі були сформовані SQL-запити. Для створення захисту програми та цілісності введених даних був створений механізм парольного доступу з вибором режимів роботів. Також проведена перевірка введених даних на валідність.
Результатом тестувань програми стали розроблені в третьому розділі інструкції програміста, системного програміста, оператора та інструкції з технічного обслуговування.
Отже, результатом курсової роботи є база даних «Центральний ринок», програми для роботи з цією базою за допомогою SQL-запитів та додатковий документ.
Список використаних джерел
-
Дейт К. Дж.. Введение в систему баз данных.– СПб.: БХВ-Петербург, 2005. – 1309 с.
-
Мейер М. Теория реляционных баз данных. – М.: Мир, 1987 – 249с.
-
Дунаев В.В. Бази данных. Язык SQL. – СПб.: БХВ-Петербург, 2006. – 288 с.
-
Вікіпедія - http://uk.wikipedia.org/wiki/
-
Мельниченко Е.В., Самоцветов К.В. SQL. – М: Мир, 1996 – 315с.
-
Тихомиров А.Н., Прокди А.К. Microsoft Office. Все программы пакета. – СПб.: Наука и Техника, 2008. – 608 с.
-
Сергеев А. Access 2007. Новые возможности. – СПб.: Питер, 2008. – 176 с.
-
Демидова Л.А., Пылькин А.Н. Програмирование в среде VBA. – М.: Горячая линия – Телеком, 2004. – 175 с.
-
Хорев В.Д. Самоучитель програмирования на VBA а MS Office. – K.: Юниор, 2001. – 320 с.
Додаток а Лістинг програми
UserForm1
Private Sub CommandButton1_Click()
emp
If OptionButton1.Value = True Then
str1 = TextBox1.Text
If (str1 = "1111") Then
TextBox1.Text = ""
Me.Hide
UserForm2.Show
Else: MsgBox "Пароль не правильний!"
TextBox1.Text = ""
End If
End If
If OptionButton2.Value = True Then
str1 = TextBox1.Text
If (str1 = "2222") Then
TextBox1.Text = ""
Me.Hide
UserForm2.Show
Else: MsgBox "Пароль не правильний!"
TextBox1.Text = ""
End If
TextBox1.Text = ""
End If
End Sub
Private Sub CommandButton2_Click()
emp
If OptionButton1.Value = True Then
str1 = TextBox1.Text
If (str1 = "1111") Then
TextBox1.Text = ""
Me.Hide
UserForm3.Show
Else: MsgBox "Пароль не правильний!"
TextBox1.Text = ""
End If
TextBox1.Text = ""
End If
If OptionButton2.Value = True Then
str1 = TextBox1.Text
If (str1 = "2222") Then
TextBox1.Text = ""
Me.Hide
UserForm3.Show
Else: MsgBox "Пароль не правильний!"
TextBox1.Text = ""
End If
TextBox1.Text = ""
End If
End Sub
Private Sub CommandButton3_Click()
emp
If OptionButton1.Value = True Then
str1 = TextBox1.Text
If (str1 = "1111") Then
TextBox1.Text = ""
Me.Hide
UserForm4.Show
Else: MsgBox "Пароль не правильний!"
TextBox1.Text = ""
End If
TextBox1.Text = ""
End If
If OptionButton2.Value = True Then
str1 = TextBox1.Text
If (str1 = "2222") Then
TextBox1.Text = ""
Me.Hide
UserForm4.Show
Else: MsgBox "Пароль не правильний!"
TextBox1.Text = ""
End If
TextBox1.Text = ""
End If
End Sub
Private Sub CommandButton4_Click()
emp
If OptionButton1.Value = True Then
str1 = TextBox1.Text
If (str1 = "1111") Then
TextBox1.Text = ""
Me.Hide
UserForm5.Show
Else: MsgBox "Пароль не правильний!"
TextBox1.Text = ""
End If
TextBox1.Text = ""
End If
If OptionButton2.Value = True Then
str1 = TextBox1.Text
If (str1 = "2222") Then
TextBox1.Text = ""
Me.Hide
UserForm5.Show
Else: MsgBox "Пароль не правильний!"
TextBox1.Text = ""
End If
TextBox1.Text = ""
End If
End Sub
Private Sub OptionButton1_Click()
CommandButton1.Enabled = True
CommandButton2.Enabled = True
End Sub
Private Sub OptionButton2_Click()
CommandButton1.Enabled = False
CommandButton2.Enabled = False
End Sub
Public Sub emp()
If OptionButton1.Value = False And OptionButton2.Value = False Then
MsgBox "Вибер³ть тип користувача"
End If
End Sub
UserForm2
Dim cn As ADODB.Connection
Dim rs As New ADODB.Recordset
Dim rs1 As New ADODB.Recordset
Private Sub CommandButton10_Click()
If (TextBox1.Text = Empty) Or (TextBox2.Text = Empty) Or (TextBox3.Text = Empty) Or (TextBox4.Text = Empty) Or (TextBox5.Text = Empty) Or (TextBox7.Text = Empty) Or (TextBox8.Text = Empty) Then
MsgBox "Помилка!!! Вибер³ть запис, який потр³бно видалити"
rs.MoveFirst
Else
If rs.RecordCount >= 1 Then
If MsgBox("Ви д³йсно бажаºте видалити запис?", vbYesNo + vbQuestion) = vbYes Then
rs.Delete
If rs.RecordCount > 0 Then
CommandButton4_Click
Else
ShowEmptyRecord
End If
End If
End If
End If
rs.MoveFirst
ShowEmptyRecord
End Sub
Private Sub CommandButton11_Click()
CommandButton9.Enabled = False
CommandButton8.Enabled = False
CommandButton7.Enabled = False
CommandButton6.Enabled = False
CommandButton12.Enabled = False
CommandButton17.Enabled = False
ShowEmptyRecord1
rs1.MoveLast
rs1.AddNew
TextBox9.SetFocus
End Sub
Private Sub CommandButton12_Click()
If (TextBox9.Text = Empty) Or (TextBox10.Text = Empty) Or (TextBox11.Text = Empty) Or (TextBox12.Text = Empty) Or (TextBox13.Text = Empty) Or (TextBox16.Text = Empty) Then
MsgBox "Помилка!!! Вибер³ть запис, який потр³бно видалити"
rs1.MoveFirst
Else
If rs1.RecordCount >= 1 Then
If MsgBox("Ви д³йсно бажаºте видалити запис?", vbYesNo + vbQuestion) = vbYes Then
rs1.Delete
If rs1.RecordCount > 0 Then
CommandButton8_Click
Else
ShowEmptyRecord1
End If
End If
End If
End If
rs1.MoveFirst
ShowEmptyRecord1
End Sub
Private Sub CommandButton13_Click()
FillRecord1
End Sub
Private Sub CommandButton14_Click()
FillRecord
End Sub
Private Sub CommandButton15_Click()
CommandButton13_Click
End Sub
Private Sub CommandButton16_Click()
CommandButton14_Click
End Sub
Private Sub CommandButton17_Click()
rs.Close
rs1.Close
Set rs = Nothing
Set rs = Nothing
cn.Close
Set cn = Nothing
Me.Hide
UserForm1.Show
End Sub
Private Sub CommandButton4_Click() ' останн³й запис орендатор
If Not rs.EOF Then
rs.MoveNext
If Not rs.EOF Then
ShowRecord
Else
rs1.MoveLast
End If
End If
End Sub
Private Sub UserForm_Activate()
ComboBox1.AddItem ("Базар")
ComboBox1.AddItem ("Охорона")
ComboBox1.AddItem ("Îô³ñ")
ComboBox1.AddItem ("Лаборатор³я")
ComboBox1.AddItem ("Склад")
ComboBox2.AddItem ("Зав³дуючий")
ComboBox2.AddItem ("Прибиральник")
ComboBox2.AddItem ("Сторож")
ComboBox2.AddItem ("Вантажник")
ComboBox2.AddItem ("Лаборант")
ComboBox3.AddItem ("М'ясо-молочний")
ComboBox3.AddItem ("Шмотки")
ComboBox3.AddItem ("Òåõí³êà")
ComboBox3.AddItem ("²íøå")
ComboBox3.AddItem ("Буд.матер³али")
ComboBox3.AddItem ("Õ³ì³ÿ")
ComboBox4.AddItem ("Пусто")
ComboBox4.AddItem ("Прилавок")
ComboBox4.AddItem ("ʳîñê 1 ï")
ComboBox4.AddItem ("ʳîñê 2 ï")
ComboBox4.AddItem ("Áóä³âëÿ")
Set cn = New ADODB.Connection
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.ConnectionString = "D:\Central.mdb"
cn.Open
rs.CursorType = adOpenKeyset
rs1.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs1.LockType = adLockOptimistic
rs.Source = "SELECT Орендатор.orendat, Орендатор.dogov, Орендатор.torg_pat, М³сце.misce, М³сце.sector, М³сце.tovar, М³сце.electr, М³сце.voda, Склад.sklad, Склад.komir, Склад.dogov, М³сце.dogov, М³сце.orendat, Склад.orendat, М³сце.bydova FROM (Орендатор INNER JOIN М³сце ON Орендатор.orendat = М³сце.orendat) INNER JOIN Склад ON Орендатор.orendat = Склад.orendat"
rs1.Source = "SELECT * FROM Ïðàö³âíèê"
Set rs.ActiveConnection = cn
Set rs1.ActiveConnection = cn
rs.Open
rs1.Open
rs.MoveFirst
rs.MoveFirst
ShowRecord1
ShowRecord
End Sub
Private Sub CommandButton1_Click() ' додати запис орендатора
CommandButton1.Enabled = False
CommandButton2.Enabled = False
CommandButton3.Enabled = False
CommandButton4.Enabled = False
CommandButton5.Enabled = False
CommandButton10.Enabled = False
CommandButton17.Enabled = False
ShowEmptyRecord
rs.MoveLast
rs.AddNew
TextBox1.SetFocus
End Sub
Private Sub ShowRecord() 'орендатор показати
TextBox1.Text = rs.Fields(0).Value
TextBox2.Text = rs.Fields(1).Value
TextBox3.Text = rs.Fields(2).Value
TextBox4.Text = rs.Fields(3).Value
TextBox5.Text = rs.Fields(4).Value
ComboBox3.Text = rs.Fields(5).Value
CheckBox1.Value = rs.Fields(6).Value
CheckBox2.Value = rs.Fields(7).Value
TextBox7.Text = rs.Fields(8).Value
TextBox8.Text = rs.Fields(9).Value
ComboBox4.Text = rs.Fields(14).Value
End Sub
Private Sub ShowRecord1() ' прац³вник показати
TextBox9.Text = rs1.Fields(0).Value
TextBox10.Text = rs1.Fields(3).Value
TextBox11.Text = rs1.Fields(4).Value
TextBox16.Text = rs1.Fields(5).Value
TextBox12.Text = rs1.Fields(6).Value
TextBox13.Text = rs1.Fields(8).Value
ComboBox2.Text = rs1.Fields(14).Value
ComboBox1.Text = rs1.Fields(18).Value
End Sub
Private Sub CommandButton2_Click()
rs.MoveFirst
ShowRecord
End Sub
Private Sub CommandButton6_Click()
rs1.MoveFirst
ShowRecord1
End Sub
Private Sub CommandButton3_Click() 'попередн³й орендатор
If Not rs.BOF Then
rs.MovePrevious
If Not rs.BOF Then
ShowRecord
Else
rs.MoveFirst
End If
End If
End Sub
Private Sub CommandButton7_Click() 'попередн³й прац³вник
If Not rs1.BOF Then
rs1.MovePrevious
If Not rs1.BOF Then
ShowRecord1
Else
rs1.MoveFirst
End If
End If
End Sub
Private Sub CommandButton8_Click() ' наступний прац³вник
If Not rs1.EOF Then
rs1.MoveNext
If Not rs1.EOF Then
ShowRecord1
Else
rs1.MoveLast
End If
End If
End Sub
Private Sub CommandButton5_Click()
rs.MoveLast
ShowRecord
End Sub
Private Sub CommandButton9_Click()
rs1.MoveLast
ShowRecord1
End Sub
Public Sub ShowEmptyRecord()
TextBox1.Text = Empty
TextBox2.Text = Empty
TextBox3.Text = Empty
TextBox4.Text = Empty
TextBox5.Text = Empty
ComboBox3.Text = Empty
TextBox7.Text = Empty
TextBox8.Text = Empty
ComboBox4.Text = Empty
CheckBox1.Value = False
CheckBox2.Value = False
rs.MoveFirst
End Sub
Public Sub ShowEmptyRecord1()
TextBox9.Text = Empty
TextBox10.Text = Empty
TextBox11.Text = Empty
TextBox12.Text = Empty
TextBox13.Text = Empty
TextBox16.Text = Empty
ComboBox2.Text = Empty
ComboBox1.Text = Empty
rs1.MoveFirst
End Sub
Private Sub FillRecord()
If (TextBox1.Text = Empty) Or (TextBox2.Text = Empty) Or (TextBox3.Text = Empty) Or (TextBox4.Text = Empty) Or (TextBox5.Text = Empty) Or (TextBox7.Text = Empty) Or (TextBox8.Text = Empty) Then
MsgBox "Помилка!!! Вс³ поля мають бути заповнен³!"
Else
If (IsNumeric(TextBox1.Text) = False) And (IsNumeric(TextBox2.Text) = True) And (IsNumeric(TextBox3.Text) = True) And (IsNumeric(TextBox4.Text) = True) And (IsNumeric(TextBox5) = True) And (IsNumeric(TextBox7.Text) = True) And (IsNumeric(TextBox8.Text) = True) Then
rs.Fields(0).Value = TextBox1.Text
rs.Fields(1).Value = TextBox2.Text
rs.Fields(2).Value = TextBox3.Text
rs.Fields(3).Value = TextBox4.Text
rs.Fields(4).Value = TextBox5.Text
rs.Fields(5).Value = ComboBox3.Text
rs.Fields(6).Value = CheckBox1.Value
rs.Fields(7).Value = CheckBox2.Value
rs.Fields(8).Value = TextBox7.Text
rs.Fields(9).Value = TextBox8.Text
rs.Fields(10).Value = TextBox2.Text
rs.Fields(11).Value = TextBox2.Text
rs.Fields(12).Value = TextBox1.Text
rs.Fields(13).Value = TextBox1.Text
rs.Fields(14).Value = ComboBox4.Text
rs.Update
CommandButton1.Enabled = True
CommandButton2.Enabled = True
CommandButton3.Enabled = True
CommandButton4.Enabled = True
CommandButton5.Enabled = True
CommandButton10.Enabled = True
CommandButton17.Enabled = True
MsgBox "Готово ²нформац³я внесена в базу даних"
Else: MsgBox "Помилка !!! Тип введених даниних не правильний"
End If
End If
End Sub
Private Sub FillRecord1()
If (TextBox9.Text = Empty) Or (TextBox10.Text = Empty) Or (TextBox11.Text = Empty) Or (TextBox12.Text = Empty) Or (TextBox13.Text = Empty) Or (TextBox16.Text = Empty) Then
MsgBox "Помилка!!! Вс³ поля мають бути заповнен³!"
Else
If (IsNumeric(TextBox9.Text) = False) And (IsNumeric(TextBox10.Text) = True) And (IsDate(TextBox12.Text) = True) And (IsNumeric(TextBox11.Text) = True) And (IsNumeric(TextBox16.Text) = False) Then
rs1.Fields(0).Value = TextBox9.Text
rs1.Fields(3).Value = TextBox10.Text
rs1.Fields(4).Value = TextBox11.Text
rs1.Fields(5).Value = TextBox16.Text
rs1.Fields(6).Value = TextBox12.Text
rs1.Fields(8).Value = TextBox13.Text
rs1.Fields(14).Value = ComboBox2.Text
rs1.Fields(18).Value = ComboBox1.Text
rs1.Update
MsgBox "Готово ²нформац³я внесена в базу даних"
CommandButton6.Enabled = True
CommandButton7.Enabled = True
CommandButton8.Enabled = True
CommandButton9.Enabled = True
CommandButton12.Enabled = True
CommandButton17.Enabled = True
Else
MsgBox "Помилка!!! Тип введених даних не правильний"
End If
End If
End Sub
UserForm3
Dim cn As ADODB.Connection
Dim rs As New ADODB.Recordset
Dim rs1 As New ADODB.Recordset
Dim rs2 As New ADODB.Recordset
Dim str$, str1$, str2$, str3$, docstr$
Dim rs3 As New ADODB.Recordset
Dim rs4 As New ADODB.Recordset
Dim WordApp As Word.Application ' экземпляр приложения
Dim DocWord As Word.Document ' экземпляр документа
Private Sub ComboBox1_Change()
rs.CursorType = adOpenKeyset
rs1.CursorType = adOpenKeyset
rs1.LockType = adLockOptimistic
rs.LockType = adLockOptimistic
str1 = ComboBox1.Text
'MsgBox str1
If (str1 = Empty) Then
MsgBox "Помилка! Вибер³ть потр³бний в³дд³л"
Else
str = "SELECT Ïðàö³âíèê.prizv, Ïðàö³âíèê.imia, ³ää³ë.zav_vid, ³ää³ë.nom_tel_vid FROM ³ää³ë INNER JOIN Ïðàö³âíèê ON ³ää³ë.viddil = Ïðàö³âíèê.viddil WHERE Ïðàö³âíèê.viddil = '" + str1 + " ' "
str2 = "SELECT inv_nom, naz_obl FROM Обладнання WHERE viddil = '" + str1 + "'"
rs.Source = str
rs1.Source = str2
Set rs.ActiveConnection = cn
Set rs1.ActiveConnection = cn
rs.Open
rs1.Open
rs.MoveFirst
TextBox1.Text = rs.Fields(2)
TextBox2.Text = rs.Fields(3)
ListBox1.Clear
Do While Not rs.EOF
ListBox1.AddItem (rs.Fields(0))
docstr = docstr + rs.Fields(0) + vbCrLf
'MsgBox docstr
rs.MoveNext
Loop
If rs1.EOF = True Then
MsgBox "Увага!!! ²нформац³я про обладнання в³дсутня!"
Else
rs1.MoveFirst
ListBox2.Clear
ListBox3.Clear
Do While Not rs1.EOF
ListBox2.AddItem (rs1.Fields(1))
ListBox3.AddItem (rs1.Fields(0))
rs1.MoveNext
Loop
End If
rs.Close
rs1.Close
End If
End Sub
Private Sub ComboBox2_Change()
Dim st$
st = ComboBox2.Text
rs3.CursorType = adOpenKeyset
rs3.LockType = adLockOptimistic
rs3.Source = "SELECT Ïðàö³âíèê.viddil, Ïðàö³âíèê.nom_pas, Ïðàö³âíèê.ser_pas, Ïðàö³âíèê.nom_tel1, Ïðàö³âíèê.mis_proj, Ïðàö³âíèê.posada, Ïðàö³âíèê.data_nar FROM Ïðàö³âíèê WHERE prizv = '" + st + "'"
Set rs3.ActiveConnection = cn
rs3.Open
TextBox3.Text = rs3.Fields(0)
TextBox4.Text = rs3.Fields(2) + " " + CStr(rs3.Fields(1))
TextBox5.Text = rs3.Fields(3)
TextBox6.Text = rs3.Fields(4)
TextBox7.Text = rs3.Fields(5)
TextBox8.Text = rs3.Fields(6)
rs3.Close
End Sub
Private Sub ComboBox3_Change()
Dim st3$, st4$
rs4.CursorType = adOpenKeyset
rs4.LockType = adLockOptimistic
st3 = ComboBox3.Text
st4 = "SELECT Орендатор.dogov, Орендатор.torg_pat, М³сце.misce, М³сце.sector, М³сце.bydova, М³сце.tovar, М³сце.electr, М³сце.voda, Склад.sklad, Склад.komir FROM (Орендатор INNER JOIN Склад ON Орендатор.orendat = Склад.orendat) INNER JOIN М³сце ON Орендатор.orendat = М³сце.orendat WHERE Орендатор.orendat = '" + st3 + "'"
rs4.Source = st4
Set rs4.ActiveConnection = cn
rs4.Open
'rs4.MoveFirst
TextBox9.Text = rs4.Fields(0)
TextBox10.Text = rs4.Fields(1)
TextBox11.Text = rs4.Fields(2)
TextBox12.Text = rs4.Fields(3)
TextBox13.Text = rs4.Fields(4)
TextBox14.Text = rs4.Fields(5)
TextBox15.Text = rs4.Fields(8)
TextBox16.Text = rs4.Fields(9)
If rs4.Fields(6) = True Then
Label25.Caption = "Електриф³коване - ТАК "
Else: Label25.Caption = "Електриф³коване - Н² "
End If
If rs4.Fields(7) = True Then
Label26.Caption = "Водопостачання - ТАК "
Else: Label26.Caption = "Водопостачання - Н² "
End If
rs4.Close
End Sub
Private Sub CommandButton1_Click()
Dim str1$, str2$, i%
If ComboBox1.Text = "" Then
MsgBox "Для зм³сту порт³бно вибрати в³дд³л"
Else
str1 = "²нформац³я про в³дд³л '" + ComboBox1.Text + "'" + vbCrLf + "Зав³дуючий - " + TextBox1.Text + vbCrLf + "Прац³вники в³дд³лу - " + vbCrLf
str1 = str1 + docstr
Set WordApp = New Word.Application
WordApp.Visible = True
Set DocWord = WordApp.Documents.Add
DocWord.Activate
DocWord.Paragraphs(1).Alignment = wdAlignParagraphLeft
DocWord.Range(Start:=0, End:=0).InsertAfter str1
End If
End Sub
Private Sub CommandButton2_Click()
rs.CursorType = adOpenKeyset
rs1.CursorType = adOpenKeyset
rs1.LockType = adLockOptimistic
rs.LockType = adLockOptimistic
str1 = ComboBox1.Text
'MsgBox str1
If (str1 = Empty) Then
MsgBox "Помилка! Вибер³ть потр³бний в³дд³л"
Else
str = "SELECT Ïðàö³âíèê.prizv, Ïðàö³âíèê.imia, ³ää³ë.zav_vid, ³ää³ë.nom_tel_vid FROM ³ää³ë INNER JOIN Ïðàö³âíèê ON ³ää³ë.viddil = Ïðàö³âíèê.viddil WHERE Ïðàö³âíèê.viddil = '" + str1 + " ' "
str2 = "SELECT inv_nom, naz_obl FROM Обладнання WHERE viddil = '" + str1 + "'"
rs.Source = str
rs1.Source = str2
Set rs.ActiveConnection = cn
Set rs1.ActiveConnection = cn
rs.Open
rs1.Open
rs.MoveFirst
TextBox1.Text = rs.Fields(2)
TextBox2.Text = rs.Fields(3)
ListBox1.Clear
Do While Not rs.EOF
ListBox1.AddItem (rs.Fields(0) + " " + rs.Fields(1))
rs.MoveNext
Loop
If rs1.EOF = True Then
MsgBox "Увага!!! ²нформац³я про обладнання в³дсутня!"
Else
rs1.MoveFirst
ListBox2.Clear
ListBox3.Clear
Do While Not rs1.EOF
ListBox2.AddItem (rs1.Fields(1))
ListBox3.AddItem (rs1.Fields(0))
rs1.MoveNext
Loop
End If
rs.Close
rs1.Close
End If
End Sub
Private Sub CommandButton3_Click()
Dim st$
st = ComboBox2.Text
rs3.CursorType = adOpenKeyset
rs3.LockType = adLockOptimistic
rs3.Source = "SELECT Ïðàö³âíèê.viddil, Ïðàö³âíèê.nom_pas, Ïðàö³âíèê.ser_pas, Ïðàö³âíèê.nom_tel1, Ïðàö³âíèê.mis_proj, Ïðàö³âíèê.posada, Ïðàö³âíèê.data_nar FROM Ïðàö³âíèê WHERE prizv = '" + st + "'"
Set rs3.ActiveConnection = cn
rs3.Open
TextBox3.Text = rs3.Fields(0)
TextBox4.Text = rs3.Fields(2) + " " + CStr(rs3.Fields(1))
TextBox5.Text = rs3.Fields(3)
TextBox6.Text = rs3.Fields(4)
TextBox7.Text = rs3.Fields(5)
TextBox8.Text = rs3.Fields(6)
rs3.Close
End Sub
Private Sub CommandButton4_Click()
Dim str1$
If ComboBox2.Text = "" Then
MsgBox "Для формування зв³ту потр³бно вибрати прац³вника"
Else
str1 = Label8.Caption + vbCrLf + Label9.Caption + ComboBox2.Text + vbCrLf + Label10.Caption + TextBox3.Text + vbCrLf + Label11.Caption + TextBox4.Text + vbCrLf + Label15.Caption + TextBox5.Text + vbCrLf + Label12.Caption + TextBox6.Text + vbCrLf + Label13.Caption + TextBox7.Text + vbCrLf + Label16.Caption + TextBox8.Text + vbCrLf
Set WordApp = New Word.Application
WordApp.Visible = True
Set DocWord = WordApp.Documents.Add
DocWord.Activate
DocWord.Paragraphs(1).Alignment = wdAlignParagraphLeft
DocWord.Range(Start:=0, End:=0).InsertAfter str1
End If
End Sub
Private Sub CommandButton5_Click()
Dim str1$
If ComboBox3.Text = "" Then
MsgBox "Для формування зв³ту потр³бно вибрати орендатора"
Else
str1 = "²нформац³я про орендатора"
str1 = str1 + ComboBox3.Text + vbCrLf + Label8.Caption + TextBox9.Text + vbCrLf + Label19.Caption + TextBox10.Text + vbCrLf + Label20.Caption + TextBox11.Text + vbCrLf + Label24.Caption + TextBox14.Text + vbCrLf + Label21.Caption + TextBox12.Text + vbCrLf + Label22.Caption + TextBox13.Text + vbCrLf + Label24.Caption + TextBox14.Text + vbCrLf + Label25.Caption + vbCrLf + Label26.Caption + vbCrLf + Label27.Caption + TextBox15.Text + vbCrLf + Label28.Caption + TextBox16.Text + vbCrLf
Set WordApp = New Word.Application
WordApp.Visible = True
Set DocWord = WordApp.Documents.Add
DocWord.Activate
DocWord.Range(Start:=0, End:=0).InsertAfter str1
End If
End Sub
Private Sub CommandButton6_Click()
Me.Hide
UserForm1.Show
End Sub
Private Sub UserForm_Activate()
ComboBox1.AddItem ("Базар")
ComboBox1.AddItem ("Охорона")
ComboBox1.AddItem ("Îô³ñ")
ComboBox1.AddItem ("Лаборатор³я")
ComboBox1.AddItem ("Склад")
Set cn = New ADODB.Connection
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.ConnectionString = "D:\Central.mdb"
cn.Open
ComboBox2.Clear
rs2.CursorType = adOpenKeyset
rs2.LockType = adLockOptimistic
rs2.Source = "SELECT * FROM Ïðàö³âíèê"
Set rs2.ActiveConnection = cn
rs2.Open
rs2.MoveFirst
Do While Not rs2.EOF
ComboBox2.AddItem (rs2.Fields(0))
rs2.MoveNext
Loop
rs2.Close
rs2.CursorType = adOpenKeyset
rs2.LockType = adLockOptimistic
rs2.Source = "SELECT * FROM Орендатор"
Set rs2.ActiveConnection = cn
rs2.Open
ComboBox3.Clear
Do While Not rs2.EOF
ComboBox3.AddItem (rs2.Fields(0))
rs2.MoveNext
Loop
rs2.Close
End Sub
Private Sub UserForm_Deactivate()
Me.Hide
MsgBox "Форма деактивована"
UserForm1.Show
End Sub
UserForm4
Dim cn As ADODB.Connection
Dim rs As New ADODB.Recordset
Dim WordApp As Word.Application
Dim WordApp1 As Word.Application
Dim DocWord As Word.Document
Dim DocWord1 As Word.Document
Dim Path$
Dim k%
Private Sub CommandButton1_Click()
k = 1
Set WordApp = New Word.Application
WordApp.Visible = True
WordApp.Caption = "Нарахування зарплати"
Set DocWord = WordApp.Documents.Add
DocWord.Activate
DocWord.Paragraphs(1).Alignment = wdAlignParagraphRight
DocWord.Range(0, 0).InsertAfter "Нарахування зарплати" + vbCrLf + vbCrLf + vbCrLf + ""
DocWord.Range(0, 20).Bold = True ' вид³лений фрагмент робить жирним - не робить
'DocWord.Paragraphs.Last.Range.InsertAfter "Конец."
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Source = "SELECT Ïðàö³âíèê.prizv, Ïðàö³âíèê.viddil, Ïðàö³âíèê.stavka, Ïðàö³âíèê.staj FROM Ïðàö³âíèê"
Set rs.ActiveConnection = cn
rs.Open
rs.MoveFirst
Do While Not rs.EOF
k = k + 1
rs.MoveNext
Loop
rs.MoveFirst
Dim tbl As Table
Dim field$
Set Range1 = DocWord.Range(22, 22)
Set Table = DocWord.Tables.Add(Range1, k, 3)
Set tbl = DocWord.Tables(1)
tbl.Rows(1).HeadingFormat = True 'створюº заголовок таблиц³ - не робить
DocWord.Tables(1).Borders.Enable = True 'створюº розм³тку таблиц³
DocWord.Tables(1).AutoFormat (wdTableFormatList1)
DocWord.Tables(1).Cell(1, 1).Range = "Ï.².Ï"
DocWord.Tables(1).Cell(1, 2).Range = "³ää³ë"
DocWord.Tables(1).Cell(1, 3).Range = "Ñóìà ãðí."
Dim i%, j%
j = 1
For i = 2 To tbl.Rows.Count - 1
field = rs.Fields(0).Value
rs.MoveNext
tbl.Cell(i, j).Range.Text = field
Next i
rs.MoveFirst
j = 2
For i = 2 To tbl.Rows.Count - 1
field = rs.Fields(1).Value
rs.MoveNext
tbl.Cell(i, j).Range.Text = field
Next i
rs.MoveFirst
j = 3
For i = 2 To tbl.Rows.Count - 1
field = CStr(CInt(rs.Fields(2).Value) * CInt(rs.Fields(3).Value))
rs.MoveNext
tbl.Cell(i, j).Range.Text = field
Next i
rs.MoveFirst
DocWord.Tables(1).Cell(i + 1, j).AutoSum
DocWord.Tables(1).Cell(i + 1, 1).Range = "ВСЬОГО ГРН."
DocWord.Tables(1).Columns(1).Width = 250
DocWord.Tables(1).Columns(2).Width = 100
DocWord.Tables(1).Columns(3).Width = 80
rs.Close
End Sub
Private Sub CommandButton2_Click()
k = 1
Set WordApp = New Word.Application
WordApp.Visible = True
WordApp.Caption = "Нарахування плати для орендатор³в"
Set DocWord = WordApp.Documents.Add
DocWord.Activate
DocWord.Paragraphs(1).Alignment = wdAlignParagraphRight
DocWord.Range(0, 0).InsertAfter "Нарахування плати для орендатор³в" + vbCrLf + vbCrLf + vbCrLf + ""
DocWord.Range(0, 37).Bold = True ' вид³лений фрагмент робить жирним - не робить
'DocWord.Paragraphs.Last.Range.InsertAfter "Конец."
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Source = "SELECT Орендатор.orendat, Орендатор.nom_pas, Орендатор.dogov, М³сце.plata, М³сце.electr, М³сце.voda, Склад.plata, [Орендоване обладнання].plata FROM ((Орендатор INNER JOIN [Орендоване обладнання] ON Орендатор.orendat = [Орендоване обладнання].orendat) INNER JOIN Склад ON Орендатор.orendat = Склад.orendat) INNER JOIN М³сце ON Орендатор.orendat = М³сце.orendat"
Set rs.ActiveConnection = cn
rs.Open
rs.MoveFirst
Do While Not rs.EOF
k = k + 1
rs.MoveNext
Loop
rs.MoveFirst
Dim tbl As Table
Dim field$
Set Range1 = DocWord.Range(36, 36)
Set Table = DocWord.Tables.Add(Range1, k, 4)
Set tbl = DocWord.Tables(1)
tbl.Rows(1).HeadingFormat = True 'створюº заголовок таблиц³ - не робить
DocWord.Tables(1).Borders.Enable = True 'створюº розм³тку таблиц³
DocWord.Tables(1).AutoFormat (wdTableFormatList1)
DocWord.Tables(1).Cell(1, 1).Range = "Ï.².Ï"
DocWord.Tables(1).Cell(1, 2).Range = "Номер паспорта"
DocWord.Tables(1).Cell(1, 3).Range = "Торговий патент"
DocWord.Tables(1).Cell(1, 4).Range = "Нараховано"
Dim i%, j%
j = 1
For i = 2 To tbl.Rows.Count - 1
field = rs.Fields(0).Value
rs.MoveNext
tbl.Cell(i, j).Range.Text = field
Next i
rs.MoveFirst
j = 2
For i = 2 To tbl.Rows.Count - 1
field = rs.Fields(1).Value
rs.MoveNext
tbl.Cell(i, j).Range.Text = field
Next i
rs.MoveFirst
j = 3
For i = 2 To tbl.Rows.Count - 1
field = rs.Fields(2).Value
rs.MoveNext
tbl.Cell(i, j).Range.Text = field
Next i
rs.MoveFirst
j = 4
For i = 2 To tbl.Rows.Count - 1
field = CStr(CInt(rs.Fields(3).Value) + CInt(rs.Fields(6).Value) + CInt(rs.Fields(6).Value))
If rs.Fields(4) = True Then
field = CStr(CInt(field) + 50)
End If
If rs.Fields(5) = True Then
field = CStr(CInt(field) + 85)
End If
rs.MoveNext
tbl.Cell(i, j).Range.Text = field
Next i
rs.MoveFirst
DocWord.Tables(1).Cell(i + 1, j).AutoSum
DocWord.Tables(1).Cell(i + 1, 1).Range = "ВСЬОГО ГРН."
DocWord.Tables(1).Columns(1).Width = 150
DocWord.Tables(1).Columns(2).Width = 90
DocWord.Tables(1).Columns(3).Width = 90
DocWord.Tables(1).Columns(4).Width = 90
rs.Close
End Sub
Private Sub CommandButton4_Click()
Dim str$, str1$
str = ListBox1.Text
If ListBox1.Text = "" Then
MsgBox "Для створення договору потр³бно вибрати орендатора"
Else
Set WordApp1 = New Word.Application
WordApp1.Visible = True
'Set DocWord1 = WordApp1.Documents.Add
Path = FileSystem.CurDir()
'Set DocWord1 = WordApp1.Documents.Open("D:\Догов³р.docm")
Set DocWord1 = WordApp1.Documents.Open(Path + "\Догов³р.docm")
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Source = "SELECT Орендатор.orendat, Орендатор.dogov, М³сце.tovar, М³сце.misce, М³сце.sector, Склад.komir, Склад.sklad FROM (Орендатор INNER JOIN Склад ON Орендатор.orendat = Склад.orendat) INNER JOIN М³сце ON Орендатор.orendat = М³сце.orendat WHERE Орендатор.orendat = '" + str + "'"
Set rs.ActiveConnection = cn
rs.Open
rs.MoveFirst
'str1 = rs.Fields(1)
'MsgBox str1
'DocWord1.Unprotect
DocWord1.FormFields("ТекстовеПоле11").Result = rs.Fields(1)
DocWord1.FormFields("ТекстовеПоле1").Result = rs.Fields(0)
DocWord1.FormFields("ТекстовеПоле5").Result = rs.Fields(2)
DocWord1.FormFields("ТекстовеПоле6").Result = rs.Fields(3)
DocWord1.FormFields("ТекстовеПоле7").Result = rs.Fields(4)
DocWord1.FormFields("ТекстовеПоле8").Result = rs.Fields(5)
DocWord1.FormFields("ТекстовеПоле9").Result = rs.Fields(6)
DocWord1.FormFields("ТекстовеПоле10").Result = rs.Fields(0)
DocWord1.Protect (wdAllowOnlyRevisions)
'DocWord1.Activate
rs.Close
End If
End Sub
Private Sub CommandButton5_Click()
Me.Hide
UserForm1.Show
End Sub
Private Sub UserForm_Activate()
Set cn = New ADODB.Connection
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.ConnectionString = "D:\Central.mdb"
cn.Open
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Source = "SELECT Орендатор.orendat, Орендатор.dogov, М³сце.tovar, М³сце.misce, М³сце.sector, Склад.komir, Склад.sklad FROM (Орендатор INNER JOIN Склад ON Орендатор.orendat = Склад.orendat) INNER JOIN М³сце ON Орендатор.orendat = М³сце.orendat"
Set rs.ActiveConnection = cn
rs.Open
rs.MoveFirst
Do While Not rs.EOF
ListBox1.AddItem (rs.Fields(0))
rs.MoveNext
Loop
rs.Close
End Sub
UserForm5
Private Sub CommandButton1_Click()
Me.Hide
UserForm1.Show
End
