Кузин А.В., Левонисова С.В. Базы данных (5-е издание, 2012) (1084448), страница 53
Текст из файла (страница 53)
табл. П2.58)текстСтроковое выражение, определяющее текст, выводящийся в строке состояния с выравниванием по левомукраю. Данный аргумент применяется, когда в аргументе действие указаны константы ас8у5Стс11пкМе1ег,асЗузСтдирсМеМйег или ас8у8Стс!8е181а1:ш. Придругих значениях аргумента действие этот аргумент неприменяетсязначениеЧисловое выражение, определяющее состояние индикатора выполнения. Данный аргумент применяется,когда в аргументе действие указана константаасБуБСтсИпйМ^ег.
При других значениях аргументадействие этот аргумент не применяетсятипОбъектаОдна из следующих встроенных констант: асТаЫе;асОиегу; асРогт; асЯероЛ; асМасго; асМос!и1е. Данный аргумент применяется, когда в аргументе действие указана константа ас8у5СпкЮеЮЬуес181аГе. Придругих значениях аргумента действие э т о т аргумент неприменяетсяимяОбъектаСтроковое выражение, являющееся допустимым именем объекта базы данных для типа, указанного в аргументе типОбъекта.
Данный аргумент применяется,когда в аргументе действие указана константаас8у8СтсЮе1:ОЬЗесГ81а1е. При других значениях аргумента действие этот аргумент не применяетсяНабор констант для индикатора выполнения приведен в табл.П2.58. При успешном выполнении указанных действий функцияSysCmd возвращает значение Null. В противном случае MicrosoftAccess генерирует ошибку выполнения.Т а б л и ц а П2.58Набор констант для индикатора выполненияКонстантаacSysCmdlnitMeterДействиеИнициализирует индикатор выполнения.При использовании данной константыпользователь должен задать значения аргументов текст и значение279Окончание табл.
П2.58КонстантаДействиеacSysCmdUpdateM eterОбновляет индикатор выполнения с помощью указанного значения. При использовании данной константы необходимо задать значение аргументов текст и значениеacSysCmdRemoveMeterУдаляет индикатор выполненияacSysCmdSetStatusВыводит текст в строке состоянияacSysCmdClearStatusСбрасывает текст в строке состоянияacSysCmdRuntimeВозвращает значение True (-1), если запущена версия Microsoft Access, предназначенная только для выполненияacSysCmdAccessVerВозвращает номер версии Microsoft AccessacSysCmdlniFileВозвращает имя файла .ini, используемогоMicrosoft AccessacSysCmdAccessDirВозвращает имя каталога, в котором хранится файл Msaccess.exeacSysCmdProfileВозвращает значение параметра /profile,указанного при запуске Microsoft Access скомандной строкиacSysCmdGetWorkgroupFile Возвращает путь к файлу рабочей группы(System, mdw)acSysCmdGetObjectStateВозвращает сведения о состоянии объектабазы данных.
При использовании даннойконстанты необходимо задать значениеаргументов типОбъекта и имяОбъектаДля изменения текста, выводящегося в строке состояния, следует вызвать функцию ЗувСтс! с константой ас8у5Стс18е181а1т варгументе действие и новым текстом сообщения в аргументе текст.Например, при выполнении операции сортировки удобно вывести в строке состояния сообщение Сортировка..., а после завершения сортировки удалить это сообщение. Максимальная длина строки в аргументе текст составляет примерно 80 символов. Поскольку текст в строке состояния выводится с помощью пропорционального шрифта, реальная длина сообщения определяется конкретным содержимым строки текст.Увеличение ширины текста сообщения приводит к уменьшению ширины индикатора выполнения.
Если сообщение, размеркоторого превышает ширину строки состояния, задается при константе ас8у5Стс11ш1Ме1ег в аргументе действие, то функция БувСтс!280игнорирует сообщение и не выводит никакого текста в строке состояния. Если же такой текст задается при константе acSysCmdSetStatus в аргументе действие, то функция SysCmd выводитсообщение, но обрезает текст по размеру строки состояния.Не допускается указание в аргументе текст пустой строки (“ ”).Чтобы удалить существующее сообщение, выведенное в строкесостояния, следует задать в аргументе текст единственный пробел.
Удаление текста из строки состояния иллюстрируют следующие инструкции:varReturn = SysCmd(acSysCmdlnitMeter,100)varReturn = SysCmd(acSysCmdSetStatus, "")Если в строке состояния выведен индикатор выполнения, тоуказание текста сообщения путем вызова функции SysCmd с константой acSysCmdSetStatus в аргументе действие приводит к автоматическому удалению индикатора.Вызов функции SysCmd с другими константами действия позволяет получить системную информацию о Microsoft Access(в том числе номер исполняемой версии, является ли данная версия только исполняемой, адрес каталога исполняемого файла иимя файла инициализации Microsoft Access).Как общие, так и специализированные настройки MicrosoftAccess сохраняются в реестре Windows, поэтому при разработкеприложения использование файла .ini является излишним.
Константа acSysCmdlniFile определят совместимость с предыдущимиверсиями Microsoft Access.Чтобы получить сведения о состоянии конкретного объекта базыданных, следует вызвать функцию SysCmd с константой acSysCmdGetObjectState в аргументе действие и заданными аргументамитип Объекта и имяОбъекта.
Различают четыре состояния объекта:неоткрытый, или несуществующий; открытый; новый; измененный, но не сохраненный.Например, при разработке программы мастера, вставляющегоновое поле в таблицу, требуется определить, была ли структуратаблицы изменена, но еще не сохранена, чтобы сохранить ее перед новым изменением. Для этого следует проверить значение,возвращаемое функцией SysCmd.Функция SysCmd с константой acSysCmdGetObjectState в аргументе действие может возвращать любую комбинацию следующих констант:Состояние объекта базы данныхКонстантаОткрытacObjStateOpenНовыйacObjStateNewИзменен, но не сохраненacObjStateDirty281Если объект, указанный в аргументе имя Объекта не открытили не существует, функция SysCmd возвращает нуль.Tab (VBA).
Используется вместе с инструкцией Print # или методом Print для указания позиции вывода.Синтаксис:Tab[(n)]Необязательный аргумент п задает номер столбца, к которомуследует перейти перед выводом на экран или печать следующеговыражения из списка. Если данный аргумент опущен, Tab устанавливает курсор в начало следующей зоны печати. Это позволяетиспользовать функцию Tab в качестве разделителя списка вместозапятой, если в текущей национальной настройке запятая используется в качестве десятичного разделителя.Если текущая позиция печати на текущей строке больше аргумента п, функция Tab вызывает переход к n -му столбцу на следующей строке вывода. Если п меньше 1, Tab переходит к столбцу 1.Если п больше, чем ширина строки вывода, следующая позицияпечати вычисляется по формулеn Mod ширинаНапример, если ширина строки равняется 80, то выражениеТаЬ(90) установит следующую позицию печати равной 10 (остаток от деления 90 на 80).
Если п меньше, чем ее текущая позицияпечати, то печать начинается в вычисленной позиции в следующей строке. Если вычисленная позиция печати больше, чем еетекущая позиция, то печать начинается в вычисленной позиции втой же строке.Крайней левой позицией печати строки вывода всегда является 1. При печати в файл с помощью инструкции Print # крайнейправой позицией ее является текущая ширина результирующегофайла, которая устанавливается с помощью инструкции Width #.При использовании метода Print и функции Tab поле печатиразбивается на позиции фиксированной ширины, которая равняется средней ширине всех символов текущего размера в используемом шрифте. Следует отметить, что не существует зависимостимежду числом напечатанных символов и числом позиций фиксированной ширины, занимаемых этими символами.
Например,прописная буква “W” шире одной позиции, а строчная буква “I ”уже.Tan (VBA). Возвращает значение типа Double, содержащее тангенс угла.282Синтаксис:Тап(число)Обязательный аргумент число представляет собой значение типаDouble или любое допустимое числовое выражение, задающее уголв радианах.Функция Tan определяет отношение двух сторон прямоугольного треугольника (противолежащего и прилегающего катетов)по указанному углу (в радианах).Для преобразования градусов в радианы следует умножить градусы на тс/180.
Для преобразования радиан в градусы следует умножить радианы на 180/л:.Time (VBA). Возвращает значение типа Variant (Date), содержащее текущее время по системным часам компьютера.Синтаксис:TimeДля установки системного времени используется инструкцияTime.Timer (VBA). Возвращает значение типа Single, представляющее собой число секунд, прошедших после полуночи.Синтаксис:TimerTimeSerial (VBA). Возвращает значение типа Variant (Date), содержащее время, соответствующее указанным часу, минуте и секунде.Синтаксис:TimeSerial(hour, minute, second)Синтаксис функции TimeSerial содержит аргументы, приведенные в табл.
П2.59.Т а б л и ц а П2.59Аргументы функции TimeSerialАргументhourОписаниеОбязательный; значение типа Variant (Integer). Представляет собой число от 0 (12:00 AM) до 23 (11:00 РМ)или числовое выражение283Окончание табл. П2.59АргументОписаниеminuteОбязательный; значение типа Variant (Integer). Представляет собой любое числовое выражениеsecondОбязательный; значение типа Variant (Integer). Представляет собой любое числовое выражениеЗначение каждого аргумента функции TimeSerial должно лежать в соответствующем диапазоне: 0...23 для часов и 0...59 дляминут и секунд.
Кроме того, можно использовать числовые выражения для описания времени на определенное число часов, минут и секунд более позднего или раннего, чем указанное. Приведем пример, в котором аргументами функции TimeSerial являются не абсолютные значения, а числовые выражения:TimeSerial(12 — 6, -15, 0)Следовательно, возвращается время на 6 ч и 15 мин более раннее, чем полдень, т.е. 5 :45 :00.Если значение какого-либо аргумента превышает максимально допустимое для него, то соответствующим образом увеличивается более старший компонент времени. Например, 75 мин означают 1 ч и 15 мин.
Однако если значение любого аргумента лежитвне диапазона 32 768... 32 767 или сочетание всех трех аргументовописывает дату, лежащую вне допустимого диапазона дат, возникает ошибка.TimeValue (УВА). Возвращает значение типа Variant (Date),содержащее время.Синтаксис:Т1теУа1ие(время)Обязательный аргумент время обычно задается строковым выражением, представляющим собой время от 0:00:00 (12:00:00 AM)до 23:59:59 (11:59:59 РМ). Кроме того, в качестве аргумента время можно использовать любое выражение, представляющее собойвремя в этом диапазоне.