БД СУБСИДИИ

Содержание

Слайд 2

БД содержит три таблицы – РАЙОНЫ, ХОЗЯЙСТВА и СУБСИДИИ. Таблица СУБСИДИИ

БД содержит три таблицы – РАЙОНЫ, ХОЗЯЙСТВА и СУБСИДИИ.
Таблица СУБСИДИИ

содержит ссылки на таблицы РАЙОНЫ и ХОЗЯЙСТВА.
Слайд 3

Форма СУБСИДИИ – столбчатая, т.е. каждая запись открывается в отдельном окне. Две формы - ленточные

Форма СУБСИДИИ – столбчатая, т.е. каждая

запись открывается в отдельном окне. Две

формы - ленточные
Слайд 4

Группа 56 ПолеСоСписком29 Надпись19

Группа 56

ПолеСоСписком29

Надпись19

Слайд 5

‘Код события ТЕКУЩАЯ ЗАПИСЬ формы СУБСИДИИ Private Sub Form_Current() If Me.Группа56

‘Код события ТЕКУЩАЯ ЗАПИСЬ формы СУБСИДИИ
Private Sub Form_Current()
If Me.Группа56 = 3

Then ‘значение ВСЕ
Me.ПолеСоСписком29.Visible = False
Me.Надпись19.Visible = False
Else
Me.ПолеСоСписком29 = Me.код_субсидии
Me.ПолеСоСписком29.Requery
End If
End Sub

Объект “ActiveX объект MS Date and Time Picker Control” привязан к полю ДАТА таблицы СУБСИДИИ

‘ Код события ПРИ ОБНОВЛЕНИИ DTPicker5
Private Sub DTPicker5_Updated(Code As Integer)
Me.Дата = Me.DTPicker5
End Sub

Процедура ПРИ ОБНОВЛЕНИИ заносит выбранное в элементе DTPicker значение в поле ДАТА формы СУБСИДИИ

Слайд 6

Функция Choose возвращает значение из списка аргументов в зависимости от значения 1-го аргумента.

Функция Choose возвращает значение из списка аргументов в зависимости от значения

1-го аргумента.
Слайд 7

Private Sub Группа56_AfterUpdate() Select Case Me.Группа56 Case 1 Me.ПолеСоСписком29.Visible = True

Private Sub Группа56_AfterUpdate()
Select Case Me.Группа56
Case 1
Me.ПолеСоСписком29.Visible = True
Me.Надпись19.Visible =

True
‘ настройка и активизация фильтра
Me.Filter = "[вид субсидии]='Региональная'"
Me.FilterOn = True
Me.ПолеСоСписком29.Requery
Case 2
Me.ПолеСоСписком29.Visible = True
Me.Надпись19.Visible = True
‘ настройка и активизация фильтра
Me.Filter = "[вид субсидии]='Федеральная'"
Me.FilterOn = True
Me.ПолеСоСписком29.Requery
Case 3
Me.ПолеСоСписком29.Visible = False
Me.Надпись19.Visible = False
‘ деактивизация фильтра
Me.FilterOn = False
End Select
End Sub

Код события ПОСЛЕ ОБНОВЛЕНИЯ объекта ГРУППА56

Private Sub Кнопка67_Click()
DoCmd.OpenForm "Субсидии_ленточная", , , , acFormPropertySettings
End Sub

Событие на кнопке ОТКРЫТЬ ФОРМУ ДЛЯ СОРТИРОВКИ СУБСИДИЙ

Слайд 8

‘свойство ДАННЫЕ Поле30 =Sum([Сумма субсидии]) Поле30 ‘ Свойство ИСТОЧНИК СТРОК поля

‘свойство ДАННЫЕ Поле30
=Sum([Сумма субсидии])

Поле30

‘ Свойство ИСТОЧНИК СТРОК поля ПолеСоСписком22
SELECT DISTINCT Субсидии.код_хозяйства,

хозяйства.[наименование хозяйства] FROM хозяйства INNER JOIN Субсидии ON хозяйства.код_хозяйства = Субсидии.код_хозяйства;

ПолеСоСписком22

ПолеСоСписком29

Слайд 9

ПолеСоСписком22 ПолеСоСписком29 ‘ Событие ПОСЛЕ ОБНОВЛЕНИЯ ПолеСоСписком22 Private Sub ПолеСоСписком22_AfterUpdate() If

ПолеСоСписком22

ПолеСоСписком29

‘ Событие ПОСЛЕ ОБНОВЛЕНИЯ ПолеСоСписком22
Private Sub ПолеСоСписком22_AfterUpdate()
If Not IsNull([Forms]![Субсидии_ленточная]![ПолеСоСписком22]) Then
Dim

s As String
s = "[код_ района]=" & [Forms]![Субсидии_ленточная]![ПолеСоСписком22]
Me.Filter = s
Me.FilterOn = True
End If
End Sub

‘ Событие ИЗМЕНЕНИЕ ПолеСоСписком22
Private Sub ПолеСоСписком22_Change()
Me.ПолеСоСписком22.ForeColor = black
Me.ПолеСоСписком29.ForeColor = gray
End Sub

Слайд 10

‘ Событие на кнопке УДАЛИТЬ ФИЛЬТРЫ Private Sub Кнопка23_Click() Me.ПолеСоСписком29 =

‘ Событие на кнопке УДАЛИТЬ ФИЛЬТРЫ
Private Sub Кнопка23_Click()
Me.ПолеСоСписком29 = Null
Me.ПолеСоСписком22 =

Null
Me.ПолеСоСписком29.ForeColor = black
Me.ПолеСоСписком22.ForeColor = black
Me.FilterOn = False
End Sub

‘ Событие на кнопке ПРИМЕНИТЬ ОБА ФИЛЬТРА
Private Sub Кнопка27_Click()
s = "[код_ района]=" & Nz([Forms]![Субсидии_ленточная]![ПолеСоСписком22])
s1=“[код_хозяйства]=" & Nz([Forms]![Субсидии_ленточная]![ПолеСоСписком29])
Me.Filter = s & s1
Me.ПолеСоСписком22.ForeColor = black
Me.ПолеСоСписком29.ForeColor = black
Me.FilterOn = True
End Sub

ПолеСоСписком22

ПолеСоСписком29

Слайд 11

‘ Событие на кнопке СОРТИРОВАТЬ Private Sub Кнопка15_Click() Dim prev As

‘ Событие на кнопке СОРТИРОВАТЬ
Private Sub Кнопка15_Click()
Dim prev As Control,

strsql1, s As String, rst1 As Recordset
Set prev = Screen.PreviousControl
Select Case prev.Name
Case "код_ района"
strsql1="SELECT Субсидии.код_субсидии, Субсидии.Дата, Субсидии.[№ платёжного поручения], Субсидии.[код_района], Субсидии.код_хозяйства, Субсидии.[Вид субсидии], Субсидии.[Сумма субсидии] FROM хозяйства INNER JOIN (районы INNER JOIN Субсидии ON районы.код_района=Субсидии.[код_ района]) ON хозяйства.код_хозяйства = Субсидии.код_хозяйства ORDER BY районы.[наименование района]"
Case "код_хозяйства"
strsql1 = "SELECT Субсидии.код_субсидии,Субсидии.Дата, Субсидии.[№ платёжного поручения], Субсидии.[код_ района], Субсидии.код_хозяйства, Субсидии.[Вид субсидии], Субсидии.[Сумма субсидии] FROM хозяйства INNER JOIN (районы INNER JOIN Субсидии ON районы.код_района = Субсидии.[код_ района]) ON хозяйства.код_хозяйства = Субсидии.код_хозяйства ORDER BY хозяйства.[наименование хозяйства]"
Case "дата", "№ платёжного поручения", "Вид субсидии", "сумма субсидии"
strsql1 = "SELECT Субсидии.код_субсидии,Субсидии.Дата, Субсидии.[№ платёжного поручения], Субсидии.[код_ района], Субсидии.код_хозяйства, Субсидии.[Вид субсидии], Субсидии.[Сумма субсидии] FROM Субсидии order by [" & prev.Name & "]"
End Select
Set rst1 = CurrentDb.OpenRecordset(strsql1, dbOpenDynaset)
Set Me.Recordset = rst1
prev.SetFocus
End Sub