ЖУРНАЛ «СТА» №4/2006
этого необходимо выполнить следую- щее. 1. При установке диапазона отчёта не- обходимо нажать кнопку Начало (Окончание) , как показано на рис. 34, и в появившемся окне «Уста- новка времени и даты» нажать кноп- ку Выбрать из комментариев/циклов … (рис. 35). 2. В появившемся окне «Выбор ком- ментария/Цикла» указать временной диапазон и нажать кнопку Поиск . При этом будет выполнен поиск ком- ментариев цикла и партии, имею- щихся в архиве, на указанный интер- вал времени. Результат поиска будет отображён в окне. Выберите необхо- димый комментарий с помощью кно- пок, как показано на рис. 36. Метка времени, соответствующая этому комментарию, будет скопирована в Начало (Окончание) диапазона. Далее приведён ещё один вариант использования комментариев для фор- мирования выборки из архива. В этом случае используются возможности программирования на VBA. В процес- се выполнения этого сценария в архив- ной базе данных осуществляется поиск начальной метки времени, соответст- вующей необходимому комментарию, и установление этого времени в качест- ве начала диапазона данных для ука- занного отчёта. Текст сценария с необ- ходимыми комментариями приведён в листинге 5. ● Автор — сотрудник компании «Первая Миля» Телефон: (+7 495) 332-3640 Факс: (+7 495) 332-3641 ВОП Р ОСЫ - О Т В Е Т Ы 91 СТА 4/2006 www.cta.ru Public twxProvider As ADODB.Connection Public rst As ADODB.Recordset Public RangeStartTime As Date Public RangeEndTime As Date Public reports As TWXReport.Document Public ReportName As String Public CommentValue As String __________________________________ Sub DataRange(o As GwxPick) ’ Сценарий исполняется по нажатию кнопки ’ в экранной форме Set twxProvider = New ADODB.Connection Set rst = New ADODB.Recordset ’ Закрываем соединение If twxProvider.State = adStateOpen Then twxProvider.Close End If ’ Определяем провайдера twxProvider.provider = ”sqloledb” twxProvider.Properties(”Data Source”) = ”V” twxProvider.Properties(”User ID”) = ”sa” twxProvider.Properties(”Password”) = ”” twxProvider.Properties(”Initial Catalog”) = ”Test042006” twxProvider.Properties(”Extended Properties”) = ”Trusted_Connection=YES” ’ Открываем соединение twxProvider.Open ’ Искомое значение комментария CommentValue = ”Старт цикла 5” ’ Строка SQLзапроса strQuery = ”SELECT Source_TDate FROM Параметры_Notes “ + _ ”WHERE Author LIKE ’BatchTag’ “ + _ ”AND Batch_Text LIKE CommentValue “ + _ ”AND Source_TDate BETWEEN ’01/01/01 22:20:22’ AND ’01/01/26 23:59:59’ “ + _ ”ORDER BY Source_TDate ASC” ’ Запрос rst.Open strQuery, twxProvider, adOpenStatic, adLockReadOnly, adCmdText ’ Имя отчёта ReportName = ”1E_report” ’ Начало диапазона данных в отчёте RangeStartTime = rst.Fields(0).value ’ Устанавливаем соединение с TWX32 Report. ’ Предполагается, что приложение уже запущено. ’ Если нет – следует вначале запустить его с помощью команды SHELL Set reports = GetObject(, ”TWXReport.Document”) ’ Устанавливаем диапазон данных для указанного отчёта reports.DisableReport (ReportName) a = reports.SetReportTimeSpan(ReportName, RangeStartTime, RangeEndTime) reports.EnableReport (ReportName) ’ Активизация отчёта ’ Закрываем Recordset If rst.State = adStateOpen Then rst.Close End If End Sub Листинг 5 Рис. 35. Выбор метки времени по комментариям Рис. 36. Выбор комментария/ цикла Рис. 34. Установка диапазона отчёта
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy