Группировка по заданному выражению
Группировка может быть выполнена не только по значениям одного или нескольких полей, но и по заданным выражениям. Исходим из условия, что в начале адреса записывается город и через запятую остальные составляющие адреса.
Функция InStrB возвращает позицию первого знака строки, входящей в другую строку. В рассматриваемом примере функция InStr позволяет определить мест, где и строковом значении поля адрес ПОК в первый раз встре чается указанный вторым операндом символ запятой (,). Функция InStr возвращает номер позиции запятой. Длина части строки до запятой на единицу меньше. Функция Left использует полученное значение длины для выделения в поле адрес_пок левой части строкового значения, стоящей до запятой. Таким образом из адреса выделяется нужная для группировки часть: название города. В отчете в режиме конструктора выражение, по которому выполняется группировка, отображается в названии раздела Заголовок группы выражение. Это же выражение запишем в заголовок группы вместо имени поля адрес_пок, иначе в отчете в заголовке группы вместо названия города будет отражен полный адрес первого покупателя.