Таблица 19. Функции поиска строки в таблицах ЭМК, подключенных запросах и локальных запросах
Синтаксис функции |
Описание функции |
EXISTS(<Таблица|Локальный запрос>, '<поле1>[;<поле2>;<поле3>]', <знач1> [,<знач2>, <знач3>]) |
Функция проверяет, существует ли в таблице или локальном запросе строка, в которой <поле1> = <знач1>, <поле2>=<знач2>, <поле3>=<знач3>. Возвращает 1 (если строка найдена) или 0 (строка не найдена). IF (EXISTS({@ЛокальныйЗапрос}, 'MOTCONSU_ID', {=Текущая запись}), 1, 0) |
FIND('<поле1> [;<поле2>;<поле3>]', <знач1> [,<знач2>, <знач3>] ) |
Функция ищет значение(-ия) в поле(-ях). Если находит, позиционируется на найденную строку и возвращает значение поля, иначе возвращает пустое значение null. {Пациенты.Номер ЭМК|FIND('NOM;PRENOM','АБАКУМОВА', 'Ирина' )} {@Анамнез жизни.Аллергоанамнез|FIND('MOTCONSU_ID',{=Текущая запись})} |
FINDNEAREST('<поле1> [;<поле2>;<поле3>]', <знач1> [,<знач2>, <знач3>], <asc|desc> ) |
Функция, аналогичная функции FIND(), ищет ближайшее подходящее значение, если не найдено точное. Параметр asc|desc – искать ближайшее большее или меньшее значение. |
LOOK(<Имя таблицы>,<имена полей через запятую>, <ID записи>,<Строка - разделитель>) |
Функция ищет запись в указанной таблице по ее ID и возвращает из этой таблицы значения необходимых полей. LOOK('medecins','nom,prenom',STRNUM(CUR_PATDIR_FIELDVAL(medecins_creator_id)),' ') - возвращает фамилию и имя врача, создавшего направление |