Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблемы с получением кол-ва записей / 13 сообщений из 13, страница 1 из 1
27.11.2002, 15:13
    #32073015
Fedot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с получением кол-ва записей
Есть форма, на набор данных которой можно накладывать фильтры. В результате таких фильтраций кол-во записей изменяется. Но в рекордсете формы(Access 2000) остается кол-во до наложения всех фильтров. Как получить реальное кол-во записей (оно еще после MaxRecButton обычно стоит).
Цикл с DoCmd.GotoRecord не катит.

Заранее благодарен
...
Рейтинг: 0 / 0
27.11.2002, 15:30
    #32073029
Savik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с получением кол-ва записей
А если просто открыть рекордсет,
в SQL-строке которого в where указать условия фильтрации и прочитать RecordCount ?
...
Рейтинг: 0 / 0
27.11.2002, 15:35
    #32073034
AndreZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с получением кол-ва записей
To Savik recordcount не всегда возвращает корректные значения
...
Рейтинг: 0 / 0
27.11.2002, 15:36
    #32073035
Savik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с получением кол-ва записей
или выполнить select count(*) where ---текущий фильтр---
...
Рейтинг: 0 / 0
27.11.2002, 16:00
    #32073045
ДиД
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с получением кол-ва записей
создать поле =count(Id) в области пимечания или заголовка
...
Рейтинг: 0 / 0
27.11.2002, 16:05
    #32073048
Fedot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с получением кол-ва записей
Ни один вариант не катит, так как источником является SP, в которой динамически формируется строка запроса, которая при повторном выполнении может выглядеть иначе. Проще уж сделать так:
Код: plaintext
1.
2.
Dim i AS Long
DoCmd.GotoRecord , , acLast
i = Me.CurrentRecord

и в i будет кол-во записей.

2ДиД
После фильтрации поле с ист. "=Count([Id])" остается неизменным
...
Рейтинг: 0 / 0
27.11.2002, 16:07
    #32073050
Fedot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с получением кол-ва записей
2Дид
...и разницы где его создавать (в примечании, заголовке, области данных) нет
...
Рейтинг: 0 / 0
27.11.2002, 16:11
    #32073054
Fedot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с получением кол-ва записей
Да, кстати, совсем забыл - у меня adp, а не mdb
...
Рейтинг: 0 / 0
27.11.2002, 16:20
    #32073059
Sinner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с получением кол-ва записей
а почему бы его не помнить изначально, получив
recordset.recordcount ибо все равно он неизменный
...
Рейтинг: 0 / 0
27.11.2002, 16:34
    #32073076
Savik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с получением кол-ва записей
Если источник - SP, пусть она еще в одном поле передает количество записей. Коряво - но...
...
Рейтинг: 0 / 0
27.11.2002, 16:40
    #32073081
Fedot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с получением кол-ва записей
Можно и не в поле, а в RETURN_VALUE. Это же я получу и с помощью

Код: plaintext
1.
Me.Recordset.MoveLast
i = Me.Recordset.RecordCount


После применения фильтров эти методы никуда не годятся
...
Рейтинг: 0 / 0
28.11.2002, 09:04
    #32073215
Проблемы с получением кол-ва записей
>>2ДиД
>>После фильтрации поле с ист. "=Count([Id])" остается неизменным

Не пробовал вызывать Поле.Recalc ?

>>2Дид
>>...и разницы где его создавать (в примечании, заголовке, области данных) нет
Значит, ты что-то не так делаешь.
...
Рейтинг: 0 / 0
28.11.2002, 10:37
    #32073265
ДиД
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с получением кол-ва записей
Надо было сразу говорить о adp. Я предлагал вариант на mdb.
Все фильтры, накладываемые на форме, не изменяют количества записей, пришедших с сервера. Т.е. они действуют локально. Хотя на форме записи фильтруются, но recordcount, а также sum(), count() не изменяют своих значений. Значит что? Надо накладывать фильтр на стороне сервера. что я и делаю. Добавьте поля для поиска на форму и добавьте условия в ХП. Все отлично работает уже год. Не совсем универсально как в mdb, но кто сказал, что будет легко?
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблемы с получением кол-ва записей / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]