Происходит перед выполнением DBSetProp(). Имеется две версии синтаксиса.
PROCEDURE dbc_BeforeDBSetProp(cName, cType, cProperty, ePropertyValue) |
PROCEDURE dbc_BeforeDBSetProp
LPARAMETERS cName, cType, cProperty, ePropertyValue |
Параметры
- cName
-
Определяет имя первого параметра в функции DBGetProp( ), а именно - имя базы данных, поле, именованное соединение, таблица или представление, для которых фукнция DBSETPROP() произведет изменение значения.
- cType
-
Указывает значение второго параметра в функции DBSetProp( ), а именно - тип объекта элемента, переданного в cName.
- cProperty
-
Указывает значение третьего параметра в функции DBSetProp(), а именно - свойства, значение которого изменит DBSETPROP().
- ePropertyValue
-
Указывает значение четвертого параметра в функции DBSetProp(), а именно - значение, которое будет присвоено свойству, указанному в cProperty.
Для получения подробной информации о действительных значениях cType и cProperty смотрите описания DBSETPROP() и DBGETPROP( ) в данной справке.
Примечания
Вы можете использовать событие dbc_BeforeDBSetProp для отслеживания доступа к базе данных до исполнения DBSETPROP().
Возврат .F. из этой процедуры предотвратит изменения значения свойства. В свою очередь это вызовет возврат функцией DBSetProp() значения .F..
Некоторые значения свойств могут быть изменены с помощью DBSetProp() или в дизайнере. Например, вы можете изменить свойство Comment для таблицы используя как DBSetProp(), так и табличный дизайнер. Поскольку DBSetProp() сама производит изменения непосредственно в базе данных dbc_BeforeModifyTable или dbc_AfterModifyTable не смогут отловить изменения, сделанные DBSETPROP(). Для перехвата изменений, которые могут быть сделаны иным путем, используйте dbc_BeforeDBSetProp, dbc_AfterDBSetProp, dbc_BeforeModifyTable и dbc_AfterModifyTable для проверки соответствующих изменений.
Пример
![]() | |
---|---|
* Отображает на экране имя события, откуда оно было вызвано и переданные параметры. PROCEDURE dbc_BeforeDBSetProp ; (cName,; cType,; cProperty,; ePropertyValue) ? '>> ' + PROGRAM() ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1) ? ' Current DBC: ' + SUBSTR(DBC(),RAT('\',DBC())+1) ? ' cName = ' + TRANSFORM(cName) + ' - ' + TYPE('cName') ? ' cType = ' + TRANSFORM(cType) + ' - ' + TYPE('cType') ? ' cProperty = ' + TRANSFORM(cProperty) + ' - ' + TYPE('cProperty') ? ' ePropertyValue = ' + TRANSFORM(ePropertyValue) + ' - ' + TYPE('ePropertyValue')+' /end/ ' ENDPROC |