Группировка по заданному выражению

Группировка может быть выполнена не только по значениям одного или нескольких полей, но и по заданным выражениям. Исходим из условия, что в начале адреса записывается город и через запятую осталь­ные составляющие адреса.

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