Метод Application.SysCmd (Access)
Используйте метод SysCmd для отображения индикатора выполнения или необязательного указанного текста в строке состояния, возврата сведений о Microsoft Access и связанных с ним файлах или возврата состояния указанного объекта базы данных (чтобы указать, открыт ли объект, является ли он новым объектом или был изменен, но не сохранен). Variant.
Синтаксис
expression. SysCmd (Action, Argument2, Argument3)
выражение: переменная, представляющая объект Application.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Действие | Обязательный | AcSysCmdAction | Константой AcSysCmdAction , определяющей тип выполняемого действия. Этот набор констант применяется к измерению хода выполнения. При успешном выполнении этих действий метод SysCmd возвращает значение NULL . В противном случае Access создает ошибку во время выполнения. |
Аргумент2 | Необязательный | Variant | Текст, отображаемый по левому краю в строке состояния. Этот аргумент является обязательным, если аргумент Action имеет значение acSysCmdInitMeter, acSysCmdUpdateMeter или acSysCmdSetStatus; этот аргумент недопустим для других значений аргумента Action . ПРИМЕЧАНИЕ. При указании значения acSysCmdGetObjectState для параметра Action необходимо указать соответствующую константу AcObjectType . |
Аргумент3 | Необязательный | Variant | Числовое выражение, управляющее отображением индикатора выполнения. Этот аргумент является обязательным, если аргумент Action имеет значение acSysCmdInitMeter; этот аргумент недопустим для других значений аргумента Action . ПРИМЕЧАНИЕ. При указании значения acSysCmdGetObjectState для параметра Action необходимо указать имя объекта базы данных. |
Возвращаемое значение
Variant
Примечания
Например, если вы создаете пользовательский мастер, который создает новую форму, можно использовать метод SysCmd для отображения счетчика хода выполнения, указывающего ход работы мастера при создании формы.
Вызывая метод SysCmd с различными действиями счетчика хода выполнения, можно отобразить индикатор выполнения в строке состояния для операции с известной длительностью или числом шагов, а также обновить ее, чтобы указать ход выполнения операции.
Чтобы отобразить индикатор выполнения в строке состояния, необходимо сначала вызвать метод SysCmd с аргументом acSysCmdInitMeterAction и аргументами Text и Value . Если аргумент Action имеет значение acSysCmdInitMeter, аргумент Value представляет собой максимальное значение единицы измерения или 100 процентов.
Чтобы обновить счетчик для отображения хода выполнения операции, вызовите метод SysCmd с аргументом acSysCmdUpdateMeterAction и аргументом Value . Если аргумент Action имеет значение acSysCmdUpdateMeter, метод SysCmd использует аргумент Value для вычисления процента, отображаемого счетчиком. Например, если задать максимальное значение 200, а затем обновить счетчик со значением 100, индикатор выполнения будет заполнен наполовину.
Вы также можете изменить текст, отображаемый в строке состояния, вызвав метод SysCmd с аргументом acSysCmdSetStatusAction и аргументом Text . Например, во время сортировки можно изменить текст на "Сортировка...". После завершения сортировки можно сбросить строку состояния, удалив текст. Аргумент Text может содержать около 80 символов. Поскольку текст строки состояния отображается с помощью пропорционального шрифта, фактическое количество отображаемых символов определяется общей шириной всех символов, заданных аргументом Text .
По мере увеличения ширины текста строки состояния уменьшается длина единицы измерения. Если текст длиннее строки состояния, а аргумент Action имеет значение acSysCmdInitMeter, метод SysCmd игнорирует текст и не отображает ничего в строке состояния. Если текст длиннее строки состояния, а аргумент Action имеет значение acSysCmdSetStatus, метод SysCmd усекает текст в соответствии с строкой состояния.
Для текста строки состояния нельзя задать строку нулевой длины (" "). Если вы хотите удалить существующий текст из строки состояния, задайте для аргумента Text одно пространство. В следующих примерах иллюстрируются способы удаления текста из строки состояния:
varReturn = SysCmd(acSysCmdInitMeter, " ", 100)
varReturn = SysCmd(acSysCmdSetStatus, " ")
Если индикатор выполнения уже отображается при настройке текста путем вызова метода SysCmd с аргументом acSysCmdSetStatusAction , метод SysCmd автоматически удаляет счетчик.
Вызовите метод SysCmd с другими действиями, чтобы определить системные сведения о Access, в том числе номер версии Access, является ли он версией времени выполнения, расположением исполняемого файла Access, параметром аргумента /profile, указанным в командной строке, и именем файла .ini, связанного с Access.
Примечание.
Общие и настраиваемые параметры access теперь хранятся в реестре Windows, поэтому вам, вероятно, не потребуется файл .ini с приложением Access. Аргумент действия acSysCmdIniFile существует для совместимости с более ранними версиями Access.
Вызовите метод SysCmd с аргументом acSysCmdGetObjectStateAction и аргументами ObjectType и ObjectName , чтобы вернуть состояние указанного объекта базы данных. Объект может находиться в одном из четырех возможных состояний: не открыт или не существует, открыт, новый или изменен, но не сохранен.
Например, если вы разрабатываете мастер, который вставляет новое поле в таблицу, необходимо определить, изменена ли структура таблицы, но еще не сохранена, чтобы ее можно было сохранить перед изменением ее структуры. Для определения состояния таблицы можно проверка значение, возвращаемое методом SysCmd.
Метод SysCmd с аргументом acSysCmdGetObjectStateAction может возвращать любую комбинацию следующих констант.
Константа | Состояние объекта базы данных | Значение |
---|---|---|
acObjStateOpen | Открыть | 1 |
acObjStateDirty | Дизайн изменен, но не сохранен | 2 |
acObjStateNew | Создать | 4 |
Примечание.
Если объект, на который ссылается аргумент ObjectName , не открыт или не существует, метод SysCmd возвращает значение, равное нулю.
Следующий код можно использовать для включения использования элемента ActiveX в выражениях при добавлении элемента ActiveX в форму.
SysCmd 14, "<ActiveX Control GUID>"
Примечание.
- Замените
<ActiveX Control GUID>
глобально уникальным идентификатором (GUID), который идентифицирует элемент ActiveX, который требуется включить в выражениях. - Нельзя удалить элемент ActiveX после его добавления в список разрешенных элементов управления.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.