|
Программирование >> Проектирование интерфейса пользователя
9: Property Ge Name { ) As String 10: UserName = Workspaces ( 0 ). UserName 11:End Property 12 : Function () As String 14: CreateLogQuery = 15: CREATE TABLE LQG & 16: (ID AUTOINCREMENT PRIMARY KEY, ERRQR ID NUMBER, & 17: SQURCE TEXT{50), DESCRIPTIQN TEXT(255), HELPFILE TEXT (255), S 18: HELPCONTEXT NUMBER, WHEN DATETIME, USER TEXT (25)); 19:End Function 21:Private Sub CreateTable() 22: Call DoCmd.RunSQL(CreateLogQuery) 23:End Sub 25:Public Sub WriteErrorEntry(ByVal Error As ErrQbject, 26: Optional UserName As String = Admin ) 27 : 28: With Err 29: Call WriteEntry(.Number, .Source, .Description, 30: .HelpFile, -HelpContext, UserName) 31: End With 32: End Sub 33 : 34:Private Function TableExists(ByVal TableName As String) As Boolean 35: 36: 37: 38: 39: 40: 41: 42 : 43 : 44: 45: 46: 47 : 50: 51: 52: 53 : 54: 55: 56: 57: 59: 60: 61: Dim Table As Variant For Each Table In CurrentData.AllTables TableExists = Table. Name = TableName If (TableExists) Then Exit For Next Table End Functuin Public Su ry (ByVal Number As Long, ByVal Source As String, ByVal Description As String, ByVal HelpFile As String, ByVal HelpContext As Long, Optional UserName As String ) Qn Error GoTo EXCEPT .Call DoWriteEntry(Numbe Source, Description, HelpFile, HelpContext, UserName) Exit Sub EXCEPT: If (No ts ( LOG ) ) Then Call CreateTable Resume Else Call Err.Raise(Err.Number, LogUtilities.WriteEntry , Err.Description) End If 62 -End Sub 63 : 68: 69 : 70: 71 73 74 75 76 77 73 79 80 81 82 83 84 85 Private Su eEntry Val Number As Long, ByVal Source As String, ByVal Description As String, ByVal HelpFile As String, ByVal HelpContext As Long, Optional UserName As String) Dim SQL As String SQL = SELECT * EROM LOG Dim Recordset As New ADODB.Recordset Call Recordset.Open(SQL, CurrentProject.Connection adOpenDynamic, adLockPessimistic) Recordset.AddNew Recordset( ERROR ID ) = Number SOURCE ) = Source DESCRIPTION ) = Description HELPFILE ) = HelpFile HELPCONTEXT ) = HelpContext = Now UserName WHEN USER Recordset( Recordset( Recordset( Recordset( Recordset( Recordset( Recordset.Update Recordset.Close Set Recordset = Nothing End Sub Практически весь этот код вам уже знаком, за исключением свойства UserName, в котором вызывается глобальный метод Application. Rrent-ser. Набирая текст в окне модуля, сопоставляйте его с содержимым листинга 23.6. Перед кода проверьте, чтобы база данных была открыта. В окне редактора Microsoft Visual Basic выберите команду Debug=>Compile. Если система выдаст сообщения об ошибках компиляции, у вас появится шанс их исправить. Прежде чем установить созданную надстройку в среде Access, необходимо выполнить еще несколько операций, о чем речь пойдет в следующем разделе. Создание таблицы с данными о регистрации Каждая надстройка Access требует наличия таблицы которая содер- жит сведения, необходимые системе для создания определенных ключей реестра Windows. Таблица USysReglnfo может быть построена в базе данных Log.mda с помощью процедуры SQL. Ее текст приведен в листинге 23.7. Листинг 23.7. Процедура создания таблицы USysReglnfo, которая необходима для регистрации надстройки, устанавливаемой в Access 1: 2: 3 : 4: 5: 6: CREATE TABLE USysReglnfo (SubKey Text(255), Type Number, ValName Text (50), Value Text(50) ) ; Il Текст листинга 23.7 не нуждается в подробн1х разъяснениях, за исклю-l чением разве что квадратных скобок. Поскольку существует ключевое слово Value, чтобы сообщить Access о необходимости создания поля с таким именем, название необходимо заключить в квадратные скобки. После того, как таблица построена, вы должны добавить в нее три записи, содержащие данные о так называемой точке входа надстройки и местоположении ее файла на диске. Содержимое каждого из полей всех записей таблицы USysReglnfo представлено в табл. 23.1. Если вы не видите таблицу USysReglnfo, выберите команду Сервис=> Параметры (ToolsOptions), перейдите на вкладку Вид (View) и установите флажок Системные объекты (System Objects).
Первая запись таблицы USysReglnfo (описанная первой же строкой табл. 23.1) используется для создания ключа регистрации надстройки Log. Вторая запись определяет функцию из состава надстройки, вызываемую при щелчке на том элементе меню СервисНадстройки, который появляется после установки надстройки в Access. Третья запись указывает место расположения файла надстройки на диске компьютера. В поле Value третьей записи следует сохранить значение IACCDlR\Log.mda. Конструкция IACCDIR служит обозначением стандартной папки для размещения надстроек, предусмотренной в Access. Обычно это flMCK\Windows\Application Data\Microsof t\AddIns, где Диск - буква дисковода, на котором располагаются файлы операционной системы Windows. Важно помнить, что профамма диспетчера при установке надстроек в Access создает копии файлов в папке Addlns. Установка надстройки Инсталляция надстройки производится с помощью средств диспетчера надстроек Access, диалоговое окно которого показано на рис. 23.2. Чтобы установить надстройку в Access, выполните следующие действия. Списание недйстут Рис. 23.2. Диалоговое окно диспетчера надстроек Access 1. Загрузите Access. 2. Выберите в строке меню команду Сервис=> Надстройки Диспетчер надстроек .(Tools=C>Add-InsOAdd-In Manager).
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |