LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Уникальные знач...
 Уникальные значения в форме
 
 15.05.2012 14:41:21
igor78
3 сообщения


Уникальные значения в форме
Подскажите пожалуйста. Нужно подсчитать кол-во уникальных значений в ленточной форме и вывести в примечания формы.
Делаю так:
SELECT Count(*) AS итого FROM [SELECT DISTINCT company FROM requests; ]. AS 123
Вывести в примечания формы можно dlookup`ом.

Но, если на форму накладывается фильтр, то кол-во записей не меняется, если добавлять в запрос where, то берется только 1 запись ленточной формы.
Как сделать запрос с учетом фильтрации по форме?
Спасибо
 16.05.2012 12:48:11
Admin1
731 сообщения
1-ый


Re: Уникальные значения в форме

Можно эту задачу разделить на 2 части. Например, так.

1. Создать запрос SELECT DISTINCT companyID, company FROM requests и сохранить его под именем request2

2. Далее применить фильтр и добавить поле в примечание. Значение поля: =Dcount("CompanyID","request2","CompanyID=" & me.CompanyID) . Фильтр может быть такой Forms!Запросы!CompanyID и т.п.

 16.05.2012 16:43:20
igor78
3 сообщения


Re: Уникальные значения в форме
Не совсем работающий вариант, т.к. в случае с фильтрацией ответ всегда "1", берется первое значение или значение, на котором стоит курсор. Наверное я не совсем точно указал условия, фильтрация в форме может быть проделана по любому полю с помощью стандартных инструментов или фильтра по выделенному.

Спасибо за ответ!
 16.05.2012 17:22:24
Admin1
731 сообщения
1-ый


Re: Уникальные значения в форме

1. Есть запросы на группировку, которые позволяют посчитать количество и отобразить нужные поля. В них тоже применяется фильтрация. Почему его нельзя использовать

SELECT Requests.CompanyID, Last(Requests.Company) AS [Last-Company]
FROM Requests
GROUP BY Requests.CompanyID
HAVING (((Last(Requests.Company))=[Forms]![Форма1]![Поле0]));

2. В ФОРМЕ тоже можно проводить группировку, т.к. она содержит табличные данные и колонтитулы. В колонтитулах можно определить группировочную информацию, т.е. назначить полю значение: =Count(*), а потом его уже отобразить в основной форме.

3. Иногда добавляют в записи служебное поле, и потом в него из VBA добавляют результаты расчета.

 16.05.2012 18:14:55
igor78
3 сообщения


Re: Уникальные значения в форме
Группировка решила бы все проблемы, но в форме нужно отображать все значения, а не только сгруппированные. Выглядит приблизительно так:

Компания1 запрос11
Компания1 запрос12
Компания2 запрос13
Компания2 запрос14
Компания3 запрос15
Компания4 запрос16
__
Уникальных компаний 4

Через vba, вы правы, пытаюсь сделать через recordsource, но пока не получается.

Еще раз спасибо!
  Программирование  Microsoft Access. Файлы mdb и accdb  Уникальные знач...
ПоискПоиск  Список форумовСписок форумов  
right