Класи і захист бази даних, MS Office, Програмні керівництва, статті

Взагалі захист бази, а саме, об’єктів і таблиць стандартними методами бажано не виробляти. Використовуйте, наприклад, метод RSA для захисту даних в таблицях.
Розглянемо інший варіант захисту, а саме, об’єктів бази даних і програмного коду. Наприклад, необхідно створити файл mdb, який можна було змінювати користувачеві, а деякі програми з форми змінити було б не можна. У даному прикладі створюється зовнішній клас для форми і розміщується в mde файлі, який використовується як бібліотека.
Застосування класу вигідно також за рахунок економії часу на розробку подій для стандартних кнопок: ОК, Скасування, Додати, Друк і т.п. Якщо у Вас буде 5-10 форм це вже виправдовує створення класу і опис подій об’єктів.

“Опис внутрішнього класу для форми. Додайте його у вашій формі.
Private mFrm As clsProtForm

Private Sub Form_Open(Cancel As Integer)
Set mFrm = New clsProtForm “Створюємо клас
Set mFrm.Form = Me.Form “Встановлюємо посилання
End Sub


“Це зовнішній клас для форми. Збережіть його в текстовому файлі, а потім імпортуйте з VBA. Зверніть увагу на використання об’єктів c подіями, і саме, форми, кнопок і групи. Всі події класу будуть спрацьовувати ПІСЛЯ роботи з призначеним для користувача класом форми.
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 “True
END
Attribute VB_Name = “clsProtForm”
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Compare Database
Option Explicit

“Об’єкти з подіями
Private WithEvents clsFrm As Form “Форма класу
Attribute clsFrm.VB_VarHelpID = -1
Private WithEvents butCancel As CommandButton “Кнопка класу
Attribute butCancel.VB_VarHelpID = -1
Private WithEvents GroupSelect As OptionGroup “Група
Attribute GroupSelect.VB_VarHelpID = -1

“Властивості форм
Public Property Set Form(Value As Form)
On Error GoTo 999
“Події для форми
Set clsFrm = Value
clsFrm.OnLoad = “[Event Procedure]” “Подія для завантаження

“Події для клавіш
Set butCancel = clsFrm.Controls (“butCancel”) “Посилання на кнопку
butCancel.OnClick = “[Event Procedure]” “Встановлюємо подія

“Події для перемикача
Set GroupSelect = clsFrm.Controls (“GroupSelect”) “Посилання на групу
GroupSelect.AfterUpdate = “[Event Procedure]” “Встановлюємо подія

Exit Property
999:
MsgBox Err.Description
Err.Clear
End Property
Public Property Get Form() As Form
Set Form = clsFrm
End Property

“Події форми
Private Sub clsFrm_Load()
subProgress “clsFrm_Load” “Завантаження
End Sub
“Події кнопок
Private Sub butCancel_Click()
subProgress “butCancel_Click” “Натискання кнопки скасування
End Sub
“Події групи
Private Sub GroupSelect_AfterUpdate()
subProgress “GroupSelect_AfterUpdate. Значення =” & clsFrm.Controls! GroupSelect
End Sub

“Повідомлення. Висновок даних у форму
Public Sub subProgress(strMsg As String)
clsFrm.Controls(“Progress”) = _
clsFrm.Controls(“Progress”) & “clsProtForm: ” & strMsg & vbNewLine
End Sub

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*