Разработка автоматизированной информационной системы учета объектов интеллектуальной собственности

Определение основных функциональных требований к модулям автоматизированной информационной системы. Разработка концептуальной модели данных. Реализация системы учета объектов интеллектуальной собственности и научно-технической продукции университета.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 26.05.2012
Размер файла 5,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Do Until del.EOF

del. Delete

del. MoveNext

Loop

Dim rec As Recordset

Set rec = CurrentDb. OpenRecordset (» SELECT max([ID НПШ]) as [n] FROM [НПШ]») 'находим максимальный ID среди НПШ

If rec. RecordCount > 1 Then

Dim maxid As String

Do Until rec.EOF

maxid = rec! [n]

rec. MoveNext

Loop

Set rec = CurrentDb. OpenRecordset (» SELECT * FROM [НПШ] WHERE [ID НПШ] =» & maxid &»; «) 'находим строку в таблице НПШ с максимальным ID

rec. Edit

rec! [ID НПШ] = CInt(id) 'заменяем ее ID на ID удаленной строки

rec. Update

End If

Me. Requery

Me! НПШ. Requery

Forms! Форма! [сп_рук].RowSource = «SELECT [ID подразделения] as [Ф.И.О.] FROM Подразделения WHERE [ID подразделения] = 0;»

Forms! Форма! [сп_НПШ].RowSource = «SELECT [ID подразделения] as [Телефон], [ID подразделения] as [E-mail] FROM Подразделения WHERE [ID подразделения] = 0;»

Forms! Форма! [сп_НОН_НПШ].RowSource = «SELECT [ID подразделения] FRom Подразделения WHERE [ID подразделения] = 0;»

Me.п_доп_НПШ = «»

Set rec = CurrentDb. OpenRecordset (» SELECT [НПШ]. [ID НПШ] as [id] FROM [НПШ] WHERE [id подразделения] =» & str &»;»)

If rec. RecordCount = 0 Then

Me.к_уд_НПШ. Enabled = False

Me.к_изм_НПШ. Enabled = False

End If

MsgBox («Удаление прошло успешно»)

Me. Tree. SetFocus

Else

Me.НПШ. SetFocus

End If

End Sub

Private Sub к_удал_Click()

Dim id As String

id = Forms! Форма! НН! [id]

Dim str As String

str = CurrentDb. OpenRecordset (» SELECT Подразделения. [ID подразделения] FROM Подразделения INNER JOIN [Научные направления] ON Подразделения. [ID подразделения] = [Научные направления]. [ID подразделения] WHERE [Научные направления]. [ID направления]=» & id &»;»)! [ID подразделения]

If MsgBox («Удалить направление?», vbYesNo) = vbYes Then

Dim del As Recordset

Set del = CurrentDb. OpenRecordset (» SELECT * FROM НН_руководитель WHERE [ID направления] =» & id &»;»)

Do Until del.EOF

del. Delete

del. MoveNext

Loop

Set del = CurrentDb. OpenRecordset (» SELECT * FROM НОН_Направление WHERE [ID направления] =» & id &»;»)

Do Until del.EOF

del. Delete

del. MoveNext

Loop

Set del = CurrentDb. OpenRecordset (» SELECT * FROM [Научные направления] WHERE [ID направления] =» & id &»;»)

Do Until del.EOF

del. Delete

del. MoveNext

Loop

Dim rec As Recordset

Set rec = CurrentDb. OpenRecordset (» SELECT max([ID направления]) as [n] FROM [Научные направления]»)

If rec. RecordCount > 1 Then

Dim maxid As String

Do Until rec.EOF

maxid = rec! [n]

rec. MoveNext

Loop

Set rec = CurrentDb. OpenRecordset (» SELECT * FROM [Научные направления] WHERE [ID направления] =» & maxid &»; «)

rec. Edit

rec! [ID направления] = CInt(id)

rec. Update

End If

Forms! Форма! [сп_Ф.И.О.].RowSource = «SELECT [ID подразделения] as [Ф.И.О.] FROM Подразделения WHERE [ID подразделения] = 0;»

Forms! Форма! [сп_инф].RowSource = «SELECT [ID подразделения] as [Телефон], [ID подразделения] as [E-mail] FROM Подразделения WHERE [ID подразделения] = 0;»

Forms! Форма! [сп_НОН_НН].RowSource = «SELECT [ID подразделения] FRom Подраз-деления WHERE [ID подразделения] = 0;»

Me.п_доп_НН = «»

Me. Requery

Me! НН. Requery

Set rec = CurrentDb. OpenRecordset (» SELECT [Научные направления]. [ID направления] as [id] FROM [Научные направления] WHERE [id подразделения] =» & str &»;»)

If rec. RecordCount = 0 Then

Me.к_удал. Enabled = False

Me.к_изм. Enabled = False

End If

MsgBox («Удаление прошло успешно»)

Else

Me.НН. SetFocus

End If

End Sub

Главная форма - управление деревом иерархий и вкладка «ОИС».

Option Compare Database

Dim strIDPodr As String

Private Sub EnabledButton()

Dim myDb As Database

Set myDb = CurrentDb

Dim myRec As Recordset

If ((VarType (Me.ID_подразделения) <> vbNull) And (Me.ID_подразделения <> «»)) Then

Set myRec = myDb. OpenRecordset («SELECT max([№ в группе]) As [НОМЕР] FROM [Руководство] WHERE [ID подразделения] =» & Me.ID_подразделения &»;»)

If VarType (myRec! [НОМЕР]) = vbNull Then

Me. Добавить. SetFocus

Me. Удалить. Enabled = False

Me. Изменить. Enabled = False

Me. Вверх. Enabled = False

Me. Вниз. Enabled = False

Else

Me. Удалить. Enabled = True

Me. Изменить. Enabled = True

Me. Вверх. Enabled = True

Me. Вниз. Enabled = True

End If

Else

End If

End Sub

Private Sub bt_Изменение_GotFocus()

If testFlag Then

Tree. Nodes. Clear

TreeViewIn (tekPodrSelect)

testFlag = False

End If

End Sub

Private Sub Form_Load()

testFlag = False

TreeViewIn (7)

EnabledButton

Delete_Table

ChildSearch (Me.ID_подразделения)

Table_In (Me.ID_подразделения)

End Sub

Private Sub Tree_BeforeLabelEdit (Cancel As Integer)

Cancel = True

End Sub

Private Sub TreeViewIn (idTekP As Integer)

Dim nodX As Node

Dim myDb As Database

Dim myRec As Recordset

Dim nodName As String

Dim str As String

Dim st As String

Dim fl As Boolean

Set myDb = CurrentDb

Set myRec = myDb. OpenRecordset («SELECT [ID подразделения], [Название длинное], [Название краткое], [ID родителя], [№ в группе] FROM Подразделения ORDER BY [ID родителя], [№ в группе];»)

fl = True

If myRec. RecordCount <> 0 Then

Do Until myRec.EOF

nodName = myRec! [Название длинное]

If VarType (myRec! [Название краткое]) <> vbNull Then

nodName = nodName & «(» & myRec! [Название краткое] &»)»

End If

If myRec! [ID родителя] = 0 Then

Set nodX = Tree. Nodes. Add (, CStr(myRec! [ID подразделения]) & «_», nodName)

Else

Set nodX = Tree. Nodes. Add (CStr(myRec! [ID родителя]) & «_», tvwChild, CStr (myRec! [ID подразделения]) & «_», nodName)

If fl And (myRec! [ID подразделения] = idTekP) Then

nodX. EnsureVisible

nodX. Selected = True

str = CStr (myRec! [ID подразделения])

fl = False

st = «»

If VarType (myRec! [Название краткое]) <> vbNull Then

st = «-» & CStr (myRec! [Название краткое])

End If

Me. Заголовок. Caption = CStr (myRec! [Название длинное]) & st

End If

End If

myRec. MoveNext

Loop

Else

Exit Sub

End If

Me. Form. RecordSource = «SELECT * FROM Подразделения WHERE [ID подразделения]=» & str &»;»

Me. Поиск_подразделения. RowSource = «SELECT Подразделения. [ID подразделения], Подразделения. [Название длинное] FROM Подразделения ORDER BY Подразделения. [Название длинное];»

End Sub

Private Sub Tree_GotFocus()

If testFlag Then

Tree. Nodes. Clear

TreeViewIn (tekPodrSelect)

testFlag = False

End If

End Sub

Private Sub Tree_LostFocus()

If testFlag Then

Tree. Nodes. Clear

TreeViewIn (tekPodrSelect)

testFlag = False

End If

End Sub

Private Sub Tree_NodeClick (ByVal Node As Object)

Dim myDb As Database

Dim myRec As Recordset

Dim str As String

Dim i As Integer

str = Left (Me. Tree. SelectedItem. Key, Len (Me. Tree. SelectedItem. Key) - 1)

Set myDb = CurrentDb

Set myRec = myDb. OpenRecordset («SELECT * FROM Подразделения WHERE [ID подразделения]=» & str &»;»)

If myRec! [ID родителя] <> 0 Then

Me. Form. RecordSource = «SELECT * FROM Подразделения WHERE [ID подразделения]=» & str &»;»

Delete_Table

ChildSearch (Me.ID_подразделения)

Table_In (Me.ID_подразделения)

st = «»

If VarType (myRec! [Название краткое]) <> vbNull Then

st = «-» & CStr (myRec! [Название краткое])

End If

Me. Заголовок. Caption = CStr (myRec! [Название длинное]) & st

End If

EnabledButton

End Sub

Private Sub Кнопка67_Click()

On Error GoTo Err_Кнопка67_Click

Screen. PreviousControl. SetFocus

DoCmd. FindNext

Exit_Кнопка67_Click:

Exit Sub

Err_Кнопка67_Click:

MsgBox Err. Description

Resume Exit_Кнопка67_Click

End Sub

Private Sub bt_Изменение_Click()

On Error GoTo Err_bt_Изменение_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = ChrW(1048) & ChrW(1079) & ChrW(1084) & ChrW(1077) & ChrW(1085) & ChrW(1077) & ChrW(1085) & ChrW(1080) & ChrW(1077)

DoCmd. OpenForm stDocName, stLinkCriteria

Exit_bt_Изменение_Click:

Exit Sub

Err_bt_Изменение_Click:

MsgBox Err. Description

Resume Exit_bt_Изменение_Click

End Sub

Private Sub Tree_Updated (Code As Integer)

If testFlag Then

Tree. Nodes. Clear

TreeViewIn (tekPodrSelect)

testFlag = False

End If

End Sub

Private Sub Вверх_Click()

If Forms! [Форма]! [Руководство]! [№ в группе] <> 1 Then

Dim adress As Integer

Dim num As Integer

adress = Forms! [Форма]! [Руководство]! [ID_руководителя]

num = Forms! [Форма]! [Руководство]! [№ в группе]

Dim myDb As Database

Set myDb = CurrentDb

Dim myRec As Recordset

Set myRec = myDb. OpenRecordset («SELECT * FROM [Руководство] WHERE [ID подразделения] =» & Forms! [Форма]! [Руководство]! [ID_подразделения] & «AND [№ в группе] =» & (num - 1) &»;»)

myRec. Edit

myRec! [№ в группе] = myRec! [№ в группе] + 1

myRec. Update

Set myRec = myDb. OpenRecordset («SELECT * FROM [Руководство] WHERE [ID подразделения] =» & Forms! [Форма]! [Руководство]! [ID_подразделения] & «AND [ID руководителя] =» & adress &»;»)

myRec. Edit

myRec! [№ в группе] = myRec! [№ в группе] - 1

myRec. Update

Forms! [Форма]! [Руководство].Form. Requery

End If

End Sub

Private Sub Вверх_GotFocus()

If testFlag Then

Tree. Nodes. Clear

TreeViewIn (tekPodrSelect)

testFlag = False

End If

End Sub

Private Sub Вверх_подр_Click()

Dim myDb As Database

Set myDb = CurrentDb

Dim myRec As Recordset

Dim IDTek As Integer

IDTek = Left (Me. Tree. SelectedItem. Key, Len (Me. Tree. SelectedItem. Key) - 1)

Set myRec = myDb. OpenRecordset («SELECT [№ в группе] FROM [Подразделения] WHERE [ID подразделения] =» & IDTek &»;»)

Dim numInGr As Integer

numInGr = myRec! [№ в группе]

Set myRec = myDb. OpenRecordset («SELECT [ID родителя] FROM [Подразделения] WHERE [ID подразделения] =» & IDTek &»;»)

Dim IDRod As Integer

IDRod = myRec! [ID родителя]

If ((numInGr <> 1) And (IDRod <> 0)) Then

Set myRec = myDb. OpenRecordset («SELECT [ID подразделения] FROM [Подразделения] WHERE [ID родителя] =» & IDRod & «AND [№ в группе] =» & (numInGr - 1) &»;»)

Dim IDPred As Integer

IDPred = myRec! [ID подразделения]

Set myRec = myDb. OpenRecordset («SELECT * FROM [Подразделения] WHERE [ID подразделения] =» & IDTek &»;»)

myRec. Edit

myRec! [№ в группе] = numInGr - 1

myRec. Update

Set myRec = myDb. OpenRecordset («SELECT * FROM [Подразделения] WHERE [ID подразделения] =» & IDPred &»;»)

myRec. Edit

myRec! [№ в группе] = numInGr

myRec. Update

Tree. Nodes. Clear

TreeViewIn (IDTek)

End If

End Sub

Private Sub Вверх_подр_GotFocus()

If testFlag Then

Tree. Nodes. Clear

TreeViewIn (tekPodrSelect)

testFlag = False

End If

End Sub

Private Sub Вниз_Click()

Dim myDb As Database

Set myDb = CurrentDb

Dim myRec As Recordset

Set myRec = myDb. OpenRecordset («SELECT max([№ в группе]) As [НОМЕР] FROM [Руководство] WHERE [ID подразделения] =» & Me. [ID подразделения] &»;»)

Dim maxNum As Integer

maxNum = myRec! [НОМЕР]

If maxNum = 0 Then

maxNum = 1

End If

If Forms! [Форма]! [Руководство]! [№ в группе] <> maxNum Then

Dim adress As Integer

Dim num As Integer

adress = Forms! [Форма]! [Руководство]! [ID_руководителя]

num = Forms! [Форма]! [Руководство]! [№ в группе]

Set myRec = myDb. OpenRecordset («SELECT * FROM [Руководство] WHERE [ID подразделения] =» & Forms! [Форма]! [Руководство]! [ID_подразделения] & «AND [№ в группе] =» & (num + 1) &»;»)

myRec. Edit

myRec! [№ в группе] = myRec! [№ в группе] - 1

myRec. Update

Set myRec = myDb. OpenRecordset («SELECT * FROM [Руководство] WHERE [ID подразделения] =» & Forms! [Форма]! [Руководство]! [ID_подразделения] & «AND [ID руководителя] =» & adress &»;»)

myRec. Edit

myRec! [№ в группе] = myRec! [№ в группе] + 1

myRec. Update

Forms! [Форма]! [Руководство].Form. Requery

End If

End Sub

Private Sub Вниз_GotFocus()

If testFlag Then

Tree. Nodes. Clear

TreeViewIn (tekPodrSelect)

testFlag = False

End If

End Sub

Private Sub Вниз_подр_Click()

Dim myDb As Database

Set myDb = CurrentDb

Dim myRec As Recordset

Dim IDTek As Integer

IDTek = Left (Me. Tree. SelectedItem. Key, Len (Me. Tree. SelectedItem. Key) - 1)

Set myRec = myDb. OpenRecordset («SELECT [№ в группе] FROM [Подразделения] WHERE [ID подразделения] =» & IDTek &»;»)

Dim numInGr As Integer

numInGr = myRec! [№ в группе]

Set myRec = myDb. OpenRecordset («SELECT [ID родителя] FROM [Подразделения] WHERE [ID подразделения] =» & IDTek &»;»)

Dim IDRod As Integer

IDRod = myRec! [ID родителя]

Set myRec = myDb. OpenRecordset («SELECT max([№ в группе]) As [MAXN] FROM [Подразделения] WHERE [ID родителя] =» & IDRod &»;»)

Dim maxNum As Integer

maxNum = myRec! [maxN]

If ((numInGr <> maxNum) And (IDRod <> 0)) Then

Set myRec = myDb. OpenRecordset («SELECT [ID подразделения] FROM [Подразделения] WHERE [ID родителя] =» & IDRod & «AND [№ в группе] =» & (numInGr + 1) &»;»)

Dim IDSled As Integer

IDSled = myRec! [ID подразделения]

Set myRec = myDb. OpenRecordset («SELECT * FROM [Подразделения] WHERE [ID подразделения] =» & IDTek &»;»)

myRec. Edit

myRec! [№ в группе] = numInGr + 1

myRec. Update

Set myRec = myDb. OpenRecordset («SELECT * FROM [Подразделения] WHERE [ID подразделения] =» & IDSled &»;»)

myRec. Edit

myRec! [№ в группе] = numInGr

myRec. Update

Tree. Nodes. Clear

TreeViewIn (IDTek)

End If

End Sub

Private Sub Вниз_подр_GotFocus()

If testFlag Then

Tree. Nodes. Clear

TreeViewIn (tekPodrSelect)

testFlag = False

End If

End Sub

Private Sub Добавить_GotFocus()

If testFlag Then

Tree. Nodes. Clear

TreeViewIn (tekPodrSelect)

testFlag = False

End If

End Sub

Private Sub Добавление_GotFocus()

If testFlag Then

Tree. Nodes. Clear

TreeViewIn (tekPodrSelect)

testFlag = False

End If

End Sub

Private Sub Изм_подч_GotFocus()

If testFlag Then

Tree. Nodes. Clear

TreeViewIn (tekPodrSelect)

testFlag = False

End If

End Sub

Private Sub Изменить_Click()

On Error GoTo Err_Изменить_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = ChrW(1048) & ChrW(1079) & ChrW(1084) & ChrW(1077) & ChrW(1085) & ChrW(1077) & ChrW(1085) & ChrW(1080) & ChrW(1077) & ChrW(95) & ChrW(50)

DoCmd. OpenForm stDocName, stLinkCriteria

Exit_Изменить_Click:

Exit Sub

Err_Изменить_Click:

MsgBox Err. Description

Resume Exit_Изменить_Click

End Sub

Private Sub Изменить_GotFocus()

If testFlag Then

Tree. Nodes. Clear

TreeViewIn (tekPodrSelect)

testFlag = False

End If

End Sub

Private Sub Поиск_GotFocus()

If testFlag Then

Tree. Nodes. Clear

TreeViewIn (tekPodrSelect)

testFlag = False

End If

End Sub

Private Sub Поиск_подразделения_AfterUpdate()

If Me. Поиск_подразделения. Column(0) <> «» And VarType (Me. Поиск_подразделения. Column(0)) <> vbNull Then

Tree. Nodes. Clear

TreeViewIn (Me. Поиск_подразделения. Column(0))

End If

End Sub

Private Sub Поиск_подразделения_NotInList (NewData As String, Response As Integer)

MsgBox («Выбрать подразделение можно только из списка!»)

Response = acDataErrContinue

Me. Поиск_подразделения. Undo

End Sub

Private Sub Удаление_пдразделения_Click()

If MsgBox («Удалить подразделение?», vbYesNo) = vbYes Then

Dim flOk As Boolean

flOk = True

Dim str As String

Dim rod As String

Dim IDPodr As Integer

IDPodr = Left (Forms! [Форма]! Tree. SelectedItem. Key, Len (Forms! [Форма]! Tree. SelectedItem. Key) - 1)

Dim myDb As Database

Set myDb = CurrentDb

Dim myRec As Recordset

Set myRec = myDb. OpenRecordset («SELECT max([ID родителя]) As [ID] FROM [Подразделения] WHERE [ID подразделения] =» & IDPodr &»;»)

IDRod = myRec! [ID]

Dim flChildren As Boolean

Set myRec = myDb. OpenRecordset («SELECT max([ID подразделения]) As [IDR] FROM [Подразделения] WHERE [ID родителя] =» & IDPodr &»;»)

If VarType (myRec! [IDR]) = vbNull Then

flChildren = False

Else

flChildren = True

End If

Dim flRuk As Boolean

Set myRec = myDb. OpenRecordset («SELECT max([ID руководителя]) As [R] FROM [Руководство] WHERE [ID подразделения] =» & IDPodr &»;»)

If VarType (myRec! [R]) = vbNull Then

flRuk = False

Else

flRuk = True

End If

Set myRec = myDb. OpenRecordset («SELECT max([№ в группе]) As [NUMM] FROM [Подразделения] WHERE [ID подразделения] =» & IDPodr &»;»)

Dim numInGr As Integer

numInGr = myRec! [NUMM]

Dim rektorat As Boolean

Set myRec = myDb. OpenRecordset («SELECT [ID родителя] FROM [Подразделения] WHERE [ID подразделения] =» & IDPodr &»;»)

If myRec! [ID родителя] = 1 Then

Set myRec = myDb. OpenRecordset («SELECT max([№ в группе]) As [NUMMM] FROM [Подразделения] WHERE [ID родителя] =» & 1 &»;»)

If myRec! [NUMMM] = 1 Then

rektorat = True

End If

End If

If IDRod = 0 Then

MsgBox («Нельзя удалять вид подразделения!»)

flOk = False

Else

If flChildren Then

MsgBox («Нельзя удалять подразделение, если у него есть подчиненные подразделения!»)

flOk = False

Else

If flRuk Then

MsgBox («Нельзя удалять подразделение, если у него есть хоть кто-то в руководстве!»)

flOk = False

Else

If rektorat Then

MsgBox («Руководство должно иметь хотя бы одно подразделение!»)

flOk = False

Else

Set myRec = myDb. OpenRecordset («SELECT * FROM [Подразделения] WHERE [ID подразделения] =» & IDPodr &»;»)

If myRec. RecordCount <> 0 Then

myRec. Delete

End If

End If

End If

End If

End If

If flOk Then

Set myRec = myDb. OpenRecordset («SELECT max([ID подразделения]) as [MAXID] FROM [Подразделения] WHERE [ID подразделения];»)

Dim maxID As Integer

maxID = myRec! [maxID]

Set myRec = myDb. OpenRecordset («SELECT * FROM [Подразделения] WHERE [ID подразделения] =» & maxID &»;»)

myRec. Edit

myRec! [ID подразделения] = IDPodr

myRec. Update

Set myRec = myDb. OpenRecordset («SELECT * FROM [Подразделения] WHERE [ID родителя] =» & maxID &»;»)

If myRec. RecordCount <> 0 Then

Do Until myRec.EOF

myRec. Edit

myRec! [ID родителя] = IDPodr

myRec. Update

Loop

End If

Set myRec = myDb. OpenRecordset («SELECT max([№ в группе]) as [MAXNUMINGR] FROM [Подразделения] WHERE [ID родителя] =» & IDRod &»;»)

Dim maxNumInGroop As Integer

If myRec. RecordCount <> 0 And VarType (myRec! [MAXNUMINGR]) <> vbNull Then

maxNumInGroop = myRec! [MAXNUMINGR]

Else

maxNumInGroop = 1

End If

For i = (numInGr + 1) To maxNumInGroop

Set myRec = myDb. OpenRecordset («SELECT * FROM [Подразделения] WHERE [ID родителя] =» & IDRod & «AND [№ в группе] =» & i &»;»)

myRec. Edit

myRec! [№ в группе] = myRec! [№ в группе] - 1

myRec. Update

Next i

Dim idp As Integer

Set myRec = myDb. OpenRecordset («SELECT [ID подразделения] FROM [Подразделения] WHERE [ID родителя] =» & IDRod & «AND [№ в группе] =» & 1 &»;»)

If ((VarType (myRec! [ID подразделения]) <> vbNull) And (myRec. RecordCount <> 0)) Then

idp = myRec! [ID подразделения]

Else

Set myRec = myDb. OpenRecordset («SELECT [ID подразделения] FROM [Подразделения] WHERE [ID подразделения] =» & IDRod &»;»)

idp = myRec! [ID подразделения]

End If

Set myRec = myDb. OpenRecordset («SELECT [ID родителя] FROM [Подразделения] WHERE [ID подразделения] =» & idp &»;»)

If myRec! [ID родителя] = 0 Then

Set myRec = myDb. OpenRecordset («SELECT [ID подразделения] FROM [Подразделения] WHERE [ID родителя] =» & 1 & «AND [№ в группе] =» & 1 &»;»)

idp = myRec! [ID подразделения]

End If

Tree. Nodes. Clear

TreeViewIn (idp)

End If

End If

End Sub

Private Sub Удаление_пдразделения_GotFocus()

If testFlag Then

Tree. Nodes. Clear

TreeViewIn (tekPodrSelect)

testFlag = False

End If

End Sub

Private Sub Удалить_Click()

If MsgBox («Вы действительно хотите удалить» & Forms! [Форма]! [Руководство]! [Поле26] & «из подразделения» & Me. Название_длинное &»?», vbYesNo) = vbYes Then

Dim myDb As Database

Set myDb = CurrentDb

Dim myRec As Recordset

Set myRec = myDb. OpenRecordset («SELECT max([№ в группе]) As [НОМЕР] FROM [Руководство] WHERE [ID подразделения] =» & Me.ID_подразделения &»;»)

Dim maxNum As Integer

maxNum = myRec! [НОМЕР]

Dim adress As Integer

Dim num As Integer

adress = Forms! [Форма]! [Руководство]! [ID_руководителя]

num = Forms! [Форма]! [Руководство]! [№ в группе]

Set myRec = myDb. OpenRecordset («SELECT * FROM [Руководство] WHERE [ID подразделения] =» & Forms! [Форма]! [Руководство]! [ID_подразделения] & «AND [ID руководителя] =» & Forms! [Форма]! [Руководство]! [ID_руководителя] &»;»)

If myRec. RecordCount <> 0 Then

myRec. Delete

End If

If Forms! [Форма]! [Руководство]! [№ в группе] <> maxNum Then

For i = num + 1 To maxNum

Set myRec = myDb. OpenRecordset («SELECT * FROM [Руководство] WHERE [ID подразделения] =» & Me.ID_подразделения & «AND [№ в группе] =» & i &»;»)

myRec. Edit

myRec! [№ в группе] = myRec! [№ в группе] - 1

myRec. Update

Next i

End If

Forms! [Форма]! [Руководство].Form. Requery

EnabledButton

End If

End Sub

Private Sub Добавить_Click()

On Error GoTo Err_Добавить_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = ChrW(1044) & ChrW(1086) & ChrW(1073) & ChrW(1072) & ChrW(1074) & ChrW(1083) & ChrW(1077) & ChrW(1085) & ChrW(1080) & ChrW(1077)

DoCmd. OpenForm stDocName, stLinkCriteria

Exit_Добавить_Click:

Exit Sub

Err_Добавить_Click:

MsgBox Err. Description

Resume Exit_Добавить_Click

End Sub

Private Sub Добавление_Click()

On Error GoTo Err_Добавление_Click

Dim stDocName As String

Dim stLinkCriteria As String

stDocName = ChrW(1044) & ChrW(1086) & ChrW(1073) & ChrW(1072) & ChrW(1074) & ChrW(1083) & ChrW(1077) & ChrW(1085) & ChrW(1080) & ChrW(1077) & ChrW(32) & ChrW(1087) & ChrW(1086) & ChrW(1076) & ChrW(1088) & ChrW(1072) & ChrW(1079) & ChrW(1076) & ChrW(1077) & ChrW(1083) & ChrW(1077) & ChrW(1085) & ChrW(1080) & ChrW(1103)

DoCmd. OpenForm stDocName, stLinkCriteria

Exit_Добавление_Click:

Exit Sub

Err_Добавление_Click:

MsgBox Err. Description

Resume Exit_Добавление_Click

End Sub

Private Sub renewingTree (activPodr As Integer)

Dim nodX As Node

Dim myDb As Database

Dim myRec As Recordset

Dim nodName As String

Dim str As String

Dim st As String

Dim fl As Boolean

Set myDb = CurrentDb

Set myRec = myDb. OpenRecordset («SELECT [ID подразделения], [Название длинное], [Название краткое], [ID родителя], [№ в группе] FROM Подразделения ORDER BY [ID родителя], [№ в группе];»)

fl = True

If myRec. RecordCount <> 0 Then

Do Until myRec.EOF

nodName = myRec! [Название длинное]

If VarType (myRec! [Название краткое]) <> vbNull Then

nodName = nodName & «(» & myRec! [Название краткое] &»)»

End If

If myRec! [ID родителя] = 0 Then

Set nodX = Tree. Nodes. Add (, CStr(myRec! [ID подразделения]) & «_», nodName)

Else

Set nodX = Tree. Nodes. Add (CStr(myRec! [ID родителя]) & «_», tvwChild, CStr (myRec! [ID подразделения]) & «_», nodName)

If fl And myRec! [ID подразделения] = activPodr Then

nodX. EnsureVisible

nodX. Selected = True

str = CStr (myRec! [ID подразделения])

fl = False

st = «»

If VarType (myRec! [Название краткое]) <> vbNull Then

st = «-» & CStr (myRec! [Название краткое])

End If

Me. Заголовок. Caption = CStr (myRec! [Название длинное]) & st

End If

End If

myRec. MoveNext

Loop

Else

Exit Sub

End If

Me. Form. RecordSource = «SELECT * FROM Подразделения WHERE [ID подразделения]=» & str &»;»

End Sub

Private Sub Поиск_Click()

On Error GoTo Err_Поиск_Click

Dim stDocName As String

Dim stLinkCriteria As String

DoCmd. OpenForm stDocName, stLinkCriteria

Exit_Поиск_Click:

Exit Sub

End Sub

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.