home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dr. Watson 2.0
/
DRWATSON2.iso
/
OFFICE
/
WZMAIN80.MDE
/
sbm_tblCode.json
< prev
next >
Wrap
JavaScript Object Notation
|
1997-03-17
|
8KB
{
"schema": {
"ID": "Long Integer",
"Code": "Memo/Hyperlink (255)"
},
"data": [
{
"ID": 1,
"Code": "Private Sub Form_Open(Cancel As Integer)\r\n' Свертывание окна базы данных, \r\n' инициализация формы.\r\n\r\n|ONOPENCODE\r\n \r\nEnd Sub\r\n\r\nPrivate Sub Form_Current()\r\n' Обновление заголовка и заполнение \r\n' списка команд.\r\n\r\n Me.Caption = Nz(Me![ItemText], \"\")\r\n FillOptions\r\n \r\nEnd Sub\r\n\r\nPrivate Sub FillOptions()\r\n' Заполнение команд для страницы \r\n' кнопочной формы.\r\n\r\n ' Число кнопок в форме.\r\n Const conNumButtons = 8\r\n \r\n Dim dbs As Database\r\n Dim rst As Recordset\r\n Dim strSQL As String\r\n Dim intOption As Integer\r\n \r\n ' Установка фокуса на первую кнопку формы,\r\n ' скрытие всех кнопок формы, кроме первой.\r\n ' Поле с фокусом скрыть нельзя.\r\n Me![Option1].SetFocus\r\n For intOption = 2 To conNumButtons\r\n Me(\"Option\" & intOption).Visible = False\r\n Me(\"OptionLabel\" & intOption).Visible = False\r\n Next intOption\r\n \r\n ' Открытие таблицы элементов кнопочной формы, \r\n ' поиск первого элемента текущей страницы формы.\r\n Set dbs = CurrentDb()\r\n strSQL = \"SELECT * FROM [Элементы кнопочной формы]\"\r\n strSQL = strSQL & \" WHERE [ItemNumber] > 0 AND [SwitchboardID]=\" & Me![SwitchboardID]\r\n strSQL = strSQL & \" ORDER BY [ItemNumber];\"\r\n Set rst = dbs.OpenRecordset(strSQL)\r\n \r\n ' Вывод сообщения при отсутствии элементов\r\n ' на странице кнопочной формы. В остальных\r\n ' случаях - заполнение страницы элементами.\r\n If (rst.EOF) Then\r\n Me![OptionLabel1].Caption = \"Элементы кнопочной формы отсутствуют\"\r\n Else\r\n While (Not (rst.EOF))\r\n Me(\"Option\" & rst![ItemNumber]).Visible = True\r\n Me(\"OptionLabel\" & rst![ItemNumber]).Visible = True\r\n Me(\"OptionLabel\" & rst![ItemNumber]).Caption = rst![ItemText]\r\n rst.MoveNext\r\n Wend\r\n End If\r\n\r\n ' Закрытие набора записей и базы данных.\r\n rst.Close\r\n dbs.Close\r\n\r\nEnd Sub\r\n\r\nPrivate Function HandleButtonClick(intBtn As Integer)\r\n' Эта функция вызывается при нажатии кнопки.\r\n' Аргумент intBtn указывает, какая кнопка была нажата.\r\n\r\n ' Константы для выполняемых команд.\r\n Const conCmdGotoSwitchboard = 1\r\n Const conCmdOpenFormAdd = 2\r\n Const conCmdOpenFormBrowse = 3\r\n Const conCmdOpenReport = 4\r\n Const conCmdCustomizeSwitchboard = 5\r\n Const conCmdExitApplication = 6\r\n Const conCmdRunMacro = 7\r\n Const conCmdRunCode = 8\r\n\r\n ' Особая ошибка.\r\n Const conErrDoCmdCancelled = 2501\r\n \r\n Dim dbs As Database\r\n Dim rst As Recordset\r\n\r\nOn Error GoTo HandleButtonClick_Err\r\n\r\n ' Поиск записи, соответствующей нажатой кнопке, \r\n ' в таблице элементов кнопочной формы.\r\n Set dbs = CurrentDb()\r\n Set rst = dbs.OpenRecordset(\"Элементы кнопочной формы\", dbOpenDynaset)\r\n rst.FindFirst \"[SwitchboardID]=\" & Me![SwitchboardID] & \" AND [ItemNumber]=\" & intBtn\r\n \r\n ' Если нужная запись не найдена, вывод \r\n ' сообщения об ошибке и выход из функции.\r\n If (rst.NoMatch) Then\r\n MsgBox \"Ошибка при чтении таблицы элементов кнопочной формы.\"\r\n rst.Close\r\n dbs.Close\r\n Exit Function\r\n End If\r\n \r\n Select Case rst![Command]\r\n \r\n ' Переход к другой кнопочной форме.\r\n Case conCmdGotoSwitchboard\r\n Me.Filter = \"[ItemNumber] = 0 AND [SwitchboardID]=\" & rst![Argument]\r\n \r\n ' Открытие формы в режиме добавления записей.\r\n Case conCmdOpenFormAdd\r\n DoCmd.OpenForm rst![Argument], , , , acAdd\r\n\r\n ' Открытие формы.\r\n Case conCmdOpenFormBrowse\r\n DoCmd.OpenForm rst![Argument]\r\n\r\n ' Открытие отчета.\r\n Case conCmdOpenReport\r\n DoCmd.OpenReport rst![Argument], acPreview\r\n\r\n ' Настройка кнопочной формы.\r\n Case conCmdCustomizeSwitchboard\r\n ' Обработка ситуации, когда диспетчер \r\n ' кнопочных форм не установлен\r\n ' (например, при сокращенной установке).\r\n On Error Resume Next\r\n Application.Run \"WZMAIN80.sbm_Entry\"\r\n If (Err <> 0) Then MsgBox \"Команда недоступна.\"\r\n On Error GoTo 0\r\n ' Обновление формы.\r\n Me.Filter = \"[ItemNumber] = 0 AND [Argument] = 'по умолчанию' \"\r\n Me.Caption = Nz(Me![ItemText], \"\")\r\n FillOptions\r\n\r\n ' Выход из приложения.\r\n Case conCmdExitApplication\r\n CloseCurrentDatabase\r\n\r\n ' Запуск макроса.\r\n Case conCmdRunMacro\r\n DoCmd.RunMacro rst![Argument]\r\n\r\n ' Выполнение программы.\r\n Case conCmdRunCode\r\n Application.Run rst![Argument]\r\n\r\n ' Другие команды не поддерживаются.\r\n Case Else\r\n MsgBox \"Неизвестная команда.\"\r\n \r\n End Select\r\n\r\n ' Закрытие набора записей и базы данных.\r\n rst.Close\r\n dbs.Close\r\n \r\nHandleButtonClick_Exit:\r\n Exit Function\r\n\r\nHandleButtonClick_Err:\r\n ' Если выполнение прервано пользователем,\r\n ' сообщение об ошибке не выводится. Вместо этого\r\n ' выполнение продолжается со следующей строки.\r\n If (Err = conErrDoCmdCancelled) Then\r\n Resume Next\r\n Else\r\n MsgBox \"Ошибка при выполнении команды.\", vbCritical\r\n Resume HandleButtonClick_Exit\r\n End If\r\n \r\nEnd Function"
},
{
"ID": 2,
"Code": "Function IsLoaded(ByVal strFormName As String) As Integer\r\n ' Возвращает True, если форма открыта в режиме формы или конструктора.\r\n \r\n Const conObjStateClosed = 0\r\n Const conDesignView = 0\r\n \r\n If SysCmd(acSysCmdGetObjectState, acForm, strFormName) <> conObjStateClosed Then\r\n If Forms(strFormName).CurrentView <> conDesignView Then\r\n IsLoaded = True\r\n End If\r\n End If\r\n \r\nEnd Function"
},
{
"ID": 3,
"Code": " ' Свертывание окна базы данных.\r\n DoCmd.SelectObject acForm, \"Кнопочная форма\", True\r\n DoCmd.Minimize"
},
{
"ID": 4,
"Code": " ' Переход на страницу кнопочной формы, отмеченную для использования по умолчанию.\r\n Me.Filter = \"[ItemNumber] = 0 AND [Argument] = 'по умолчанию' \"\r\n Me.FilterOn = True"
}
]
}