Кузин А.В., Левонисова С.В. Базы данных (5-е издание, 2012) (1084448), страница 42
Текст из файла (страница 42)
Например, функция ОСоиШ вмодуле позволяет подсчитать число записей в таблице ЗАКАЗЫ,сделанных в определенный день.Синтаксис:ОСоиШ(выражение, набор[, условие])Функция ЭСоиЩ использует аргументы, приведенные в табл.П2.12.Функцию ОСоиЩ применяют для подсчета количества записей в подмножестве, когда не требуется использовать конкретныезначения.
Хотя в аргументе выражение можно указать любые расчеты, БСоиЩ всегда возвращает число записей. Значение аргумента выражение является недоступным.При любом использовании функции ОСошП (в макросе и л имодуле, выражении для запроса или вычисляемом элементе упТ а б л и ц а П2.12Аргументы функции DCountАргументОписаниевыражение Выражение, определяющее поле, для которого производится подсчет значений.
Данный аргумент может задаваться строковым выражением, определяющим поле втаблице или запросе, или представлять собой выражение,задающее выполнение вычислений над данными, содержащимися в поле. Допускается использование в аргументевыражение имени поля в таблице или элемента управления в форме, константы, а также встроенной или определяемой пользователем функции. Не допускается использование в аргументе выражение других статистическихфункций по подмножеству или статистических функцийSQLнаборСтроковое выражение, определяющее набор записей, образующих подмножество.Может представлять собой имятаблицы или запросаусловиеНеобязательное строковое выражение, ограничивающеедиапазон данных, для которых подсчитывается число значений.
Например, аргумент условие часто является эквивалентом предложения WHERE инструкции SQL, но безключевого слова WHERE. Если аргумент условие опущен,DCount выполняет расчеты над полем, заданным в аргументе выражение, для всего набора записей. Любое поле,указанное в аргументе условие, должно принадлежать подмножеству, заданному аргументом набор', в противномслучае функция DCount возвращает значение Null216равления) необходимо обеспечить правильное составление аргумента условие.Функцию DCount используют в вычисляемом элементе управления, если необходимо указать условия отбора, ограничивающие диапазон подсчитываемых записей.
Например, для выводачисла заказов, отправляемых в Крым, следует ввести в ячейкусвойства Данные (ControlSource) вычисляемого поля следующеевыражение:= DCount("[КодЗаказа]", "Заказы",теля] = 'Крым'")" [ОбластьПолуча-Если требуется просто подсчитать число записей в наборе, определяемом аргументом набор, следует использовать функциюCount.Функция Count оптимизирована для быстрого подсчета числазаписей в запросах, т.е. в запросах вместо функции DCount лучшеиспользовать функцию Count, задавая условия отбора в бланке.Функцию DCount рекомендуется использовать для подсчета записей в программах модулей, макросах или вычисляемых полях.Допускается использование функции DCount для подсчета записей, содержащих конкретное поле, в случае, когда поле, длякоторого проводится подсчет значений, не принадлежит к базовому источнику записей формы.
Например, в форме, у которойбазовой таблицей является таблица ТОВАРЫ, можно вывестичисло заказов, содержащихся в таблице ЗАКАЗЫ.Функция DCount не подсчитывает записи, содержащие пустые (Null) значения в поле, задаваемом аргументом выражение,за исключением случая, когда в этом аргументе задан подстановочный знак звездочка (*). При указании данного подстановочного знака DCount подсчитывает полное число записей, в том числесодержащих значения типа Null.Полное число записей в таблице ЗАКАЗЫ подсчитывается спомощью следующей конструкции:intX = DCount("*", "Заказы")Если в аргументе набор указана таблица с определенным ключевым полем, то для подсчета всех записей в этой таблице достаточно указать ключевое поле в аргументе выражение, посколькуоно не может содержать значения типа Null.Если в аргументе выражение задаются несколько полей, то ихимена следует объединять с помощью оператора конкатенации,представляемого символом амперсанд (&) или знаком плюс (+).Если имена полей разделяются амперсандом, DCount подсчитывает все записи в перечисленных полях.
Если используется знак217плюс, то DCount возвращает число записей во всех перечисленных полях с непустыми значениями. Для примера приведем результат применения этих операторов для поля, содержащего данные во всех записях (НазваниеПолучателя), и поля, содержащегопустые значения ( ОбластъПолучателя):1. intW = DCount("[НазваниеПолучателя]", "Заказы")'Возвращает 8312. intX = DCount("[ОбластъПолучателя]", "Заказы")'Возвращает 3233. intY = DCount("[НазваниеПолучателя] + [ОбластьПолучателя]", "Заказы")'Возвращает 3234.
intZ = DCount("[НазваниеПолучателя] & [ОбластьПолучателя]", "Заказы")'Возвращает 831DDB (VBA). Возвращает значение типа Double, указывающеевеличину амортизации имущества для заданного периода, с использованием метода двукратного учета амортизации или иногоявно указанного метода.Синтаксис:DDB(cost, salvage, life, period[, factor])Синтаксис функции DDB содержит аргументы, приведенныев табл. П2.13.Т а б л и ц а П2.13АргументАргументы функции DDBОписаниеcostОбязательный.
Представляет собой выражение типаDouble, указывающее начальную стоимость фондовsalvageОбязательный. Представляет собой выражение типаDouble, указывающее стоимость фондов к концу периодаэксплуатацииlifeОбязательный. Представляет собой выражение типаDouble, указывающее длительность периода эксплуатацииperiodОбязательный. Представляет собой выражение типаDouble, указывающее период времени, для котороговычисляется снижение стоимостиfactorНеобязательный.
Представляет собой выражение типаVariant, указывающее фактор расчета снижения стоимости.Если этот аргумент опущен, используется значение поумолчанию 2 (двойное убывание)218Вычисление снижения стоимости по методу с ускоренной амортизацией обеспечивает учет наиболее быстрого снижения стоимости в начальный период эксплуатации.Аргументы life и period должны задаваться в одних и тех жеединицах. Например, если длительность периода эксплуатации lifeныражена в месяцах, period также следует указывать в месяцах.При этом все аргументы должны иметь положительные значения.Расчет значения функции DDB производится по следующейформуле:Снижение стоимости за period =factor) / life((cost—salvage)*DDE. Позволяет открыть сеанс динамического обмена данными (DDE) с другим приложением, направить требование на прием данных из этого приложения и вывести полученные данные вэлементе управления в форме или отчете.Н апри м ер, указан ие ф ункц ии D D E в свойстве Данные(ControlSource) поля в форме позволяет вывести в этом поле содержимое конкретной ячейки электронной таблицы Microsoft Excel.Синтаксис:ООЕ(приложение, документ, раздел)Функция DDE использует аргументы, приведенные в табл.П2.14.Т а б л и ц а П2.14Аргументы функции DDEАргументОписаниеприложение Строковое выражение, которое определяет приложение,участвующее в сеансе DDE.
Обычно для приложений,работающих в среде Microsoft Windows, аргумент приложение задает имя файла .ехе (без расширения ,ехе).Например, для открытия канала связи DDE с MicrosoftExcel следует указать “Ехсе11”в аргументе приложениедокументСтроковое выражение, содержащее имя документа, принимаемое приложением. В аргументе документ обычноуказывается документ или файл данных. За списком поддерживаемых приложением имен документов следует обращаться к документации данного приложенияразделСтроковое выражение, содержащее имя раздела данных,принимаемое приложением.
За списком поддерживаемыхприложением имен разделов данных следует обращатьсяк документации данного приложения219При вызове функции DDE делается попытка открыть сеанссвязи D DE с указанным приложением, передать соответствующее имя документа и требование на прием данных, указанных варгументе раздел. При успешном выполнении функция DDE возвращает строку, содержащую затребованные данные.В требовании на прием данных из Microsoft Excel аргумент раздел должен содержать идентификатор адреса ячейки (строки и столбца, например, "RICI") или имя диапазона ячеек. Например, дляпередачи функцией DDE требования на прием содержимого ячейки, находящейся в первой строке и первом столбце электроннойтаблицы Microsoft Excel, в ячейку Данные (ControlSource) в окнесвойств поля вводится следующее выражение:=DDE("Excel", "Листі", "R1C1")Функция DDE используется только для указания свойства Данные (ControlSource) поля, группы, флажка или поля со списком.Не допускается вызов функции DDE в инструкциях Visual Basic.После ввода функции DDE элемент управления становитсянередактируемым в режимах формы и предварительного просмотра.Например, после ввода функции DDE в поле оно становится нередактируемым, т.е.
содержимое этого поля следует редактировать в другом приложении. Поскольку свойство Данные (ControlSource) становится в режимах формы и предварительного просмотра доступным только для чтения, все изменения должны вноситься в элемент управления в режиме конструктора.Максимальное число одновременно открываемых сеансов DDEопределяется настройками Windows, а также памятью и ресурсами компьютера. Если попытка открыть сеанс оказалась неудачнойиз-за того, что приложение не запущено или не распознается документ, или превышено максимально допустимое число сеансов,функция DDE возвращает значение Null.В конфигурации другого приложения может быть указано, чтозапросы на открытие сеанса DDE игнорируются. В этом случаефункция DDE возвращает Null.