powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как узнать количество определенных записей для текущего Recordset?
19 сообщений из 44, страница 2 из 2
как узнать количество определенных записей для текущего Recordset?
    #40128280
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI
sdku,

Не бузи тебе ТС правильно замечание сделал.
Надо внимательно читать его первое сообщение.

Да и в тема сообщения вопрос лаконичен(количество определенных записей)
...
Рейтинг: 0 / 0
как узнать количество определенных записей для текущего Recordset?
    #40128285
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nezar
хотел избежать цикла, т.к. условий 9ть штук и каждый раз гонять 500000 записей не хотелось.

Ещё вариант - без цикла и без повторного пересчёта
...
Рейтинг: 0 / 0
как узнать количество определенных записей для текущего Recordset?
    #40128368
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI
ROI
sdku,
Не бузи тебе ТС правильно замечание сделал.Надо внимательно читать его первое сообщение.
Да и в тема сообщения вопрос лаконичен(количество определенных записей)
А что в форме,после применения фильтра,отображаются и подсчитываются "не определённые" записи( не те что отобраны)? 22423736
...
Рейтинг: 0 / 0
как узнать количество определенных записей для текущего Recordset?
    #40128388
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,там к отобранным записям дополнительно условие применяется.
...
Рейтинг: 0 / 0
как узнать количество определенных записей для текущего Recordset?
    #40128449
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alecko
sdku,там к отобранным записям дополнительно условие применяется.

Да ему фиолетово.
Не врубается человек.
...
Рейтинг: 0 / 0
как узнать количество определенных записей для текущего Recordset?
    #40128461
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nezar

kol = DCount("*", Me.RecordsetClone, "F1=23")
.....
понимаю что можно програмно сформировать новый запрос с дополнительным условием
Может,кто врубается,покажет мне где указано некое "дополнительное " условие и объяснит бестолковому чем вся эта байда отличается от условия WHERE(до 32000 символов). A в шедевральной попытке использовать Dcount наблюдается только одно условие
...
Рейтинг: 0 / 0
как узнать количество определенных записей для текущего Recordset?
    #40128541
ValK412
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Думаю, несколько напрасно грузите sdku.
Из исходного посыла ТС

"kol = DCount("*", Me.RecordsetClone, "F1=23")
понимаю что можно програмно сформировать новый запрос с дополнительным условием
"
вполне может следовать мысль сформировать recordset вида select count(*) where "F1=23"
и подсчитать -> .movelast -> .recordcount
Если по таблице есть хороший индекс по полю F1, это может оказаться быстрее цикла по рекордсету в памяти.
Особенно на выборке 500 000 записей)

То, что таких условий аж 9, выяснилось много позже)
...
Рейтинг: 0 / 0
как узнать количество определенных записей для текущего Recordset?
    #40128546
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValK412
... сформировать recordset вида select count(*) where "F1=23"
и подсчитать -> .movelast -> .recordcount
....
Зачем подсчитывать, зачем movelast?
В таком рекордсете всегда recordcount=1.

Там еще FROM отсутствует, но это дела не меняет.
...
Рейтинг: 0 / 0
как узнать количество определенных записей для текущего Recordset?
    #40128552
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Занахрена усложнять что либо-рекордсет да еще и переменные:все решается SQL с минимальным использованием VBA,встроенными механизмами ACCESS
...
Рейтинг: 0 / 0
как узнать количество определенных записей для текущего Recordset?
    #40128562
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
...А что значит ...рядом с Member [скрыт] ?...

Слово "скрыт" относится к профилю.
Это значит, что какая-то информация в профиле, по мнению модератора, нарушает какие-то правила форума.
...
Рейтинг: 0 / 0
как узнать количество определенных записей для текущего Recordset?
    #40128568
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValK412
Думаю, несколько напрасно грузите sdku.

Согласен, перегибы на местах всегда бывают, только из последующих постов становится понятно, что в ленточной форме дохрена всего и нужно не нарушая структуры её получить 9 количественных характеристик по набору данных...
Удивительно, что Панург с первого поста прованговал перспективы и выдал решение...
Удивительно что и ТС сам не допер, что где есть переменная i, там могут жить параллельно и j и k и ....
Что касается sdku, то нужно просто держать нос по ветру, в последнее время много спрашивающих со своими не стандартными закидонами, заковырками и не простым характером...
...
Рейтинг: 0 / 0
как узнать количество определенных записей для текущего Recordset?
    #40128604
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle
Слово "скрыт" относится к профилю.

наверное да, но скорее всего это баг...
единственное что можно скрыть в профиле - это указанный e-mail, я пробовал у себя поставить галочку скрыть мыло, но у меня не появилась надпись [Скрыт] рядом с Member
...
Рейтинг: 0 / 0
как узнать количество определенных записей для текущего Recordset?
    #40128614
ValK412
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Предложенное Панургом решение, думаю, должно полностью удовлетворить ТС.

Из интереса только позанудствую.
В примерной таблице "Dano" (1млн.записей) (Id- long, счетчик; F23 - long, indexed;F33 - string 255),
поле F23 - заполнено случайными числами от 0 до 19.
эта таблица является источником для ленточной формы, время подсчета примерно такое:
1)cnt=DCount("*", "Dano", "F23=" & CStr(keyValue))
3 ms
2)With Me.Form.RecordsetClone
Do While Not .EOF()
If (!F23 = keyValue) Then recCnt = recCnt + 1
.MoveNext
Loop
1450 ms
4)With Set rs = CurrentDb.OpenRecordset("SELECT * FROM Dano", dbOpenSnapshot)
Do While Not .EOF()
If (!F23 = keyValue) Then recCnt = recCnt + 1
.MoveNext
Loop
5600 ms
5)Set rs = CurrentDb.OpenRecordset("SELECT count(*) as cnt FROM Dano WHERE F23=" & CStr(keyValue), dbOpenSnapshot)
recCnt = rs!cnt
14 ms
...
Рейтинг: 0 / 0
как узнать количество определенных записей для текущего Recordset?
    #40128624
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle
Слово "скрыт" относится к профилю.
Это значит, что какая-то информация в профиле, по мнению модератора, нарушает какие-то правила форума.


похоже ROI разблокировали не до конца или произошел сбой разблокировки,
к нему нельзя зайти в профиль и посмотреть кто, что, откуда и когда...
в общем получился Агент-007 ...
...
Рейтинг: 0 / 0
как узнать количество определенных записей для текущего Recordset?
    #40128634
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag,

Профиль скрывают модераторы.
Надо у них спросить, что за "криминал" там обнаружили и почему закрыли от просмотра.
Обычно после исправления открывают.

Где-то тут когда-то встречала объяснения этого явления.
...
Рейтинг: 0 / 0
как узнать количество определенных записей для текущего Recordset?
    #40128642
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle
vmag,

Профиль скрывают модераторы.
Надо у них спросить, что за "криминал" там обнаружили и почему закрыли от просмотра.
Обычно после исправления открывают.

Где-то тут когда-то встречала объяснения этого явления.

Да у них там наверно сбой произошел.
-"Нету у нас в профиле ни каких хобей."
Отныне буду " Агент-007 "
...
Рейтинг: 0 / 0
как узнать количество определенных записей для текущего Recordset?
    #40128646
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
Удивительно, что Панург с первого поста прованговал перспективы и выдал решение...
А меня всего-то две три вещи и удивляют на всем белом свете:
1. Это почему на небе горят частые звездочки
2. Отчего я такой добрый и терпеливый при моей-то тяжелой жизни? Другой бы на моем месте давно всех убил, один остался...
3. Нахрена столько записей в ленточной форме выводить?

ValK412
Из интереса только позанудствую.
не пробовал пользоваться оформление в сообщении? https://www.sql.ru/faq/faq_topic.aspx?fid=202

Писал я ответы когда было неизвестно сколько там записей. Думаю при меньшем количестве записей картина будет несколько иной и накладные расходы открытия наборов перевесят цикл.
...
Рейтинг: 0 / 0
как узнать количество определенных записей для текущего Recordset?
    #40128719
ValK412
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,
Спасибо за ссылку. Не увидел в интерфейсе этой возможности (оформления кода)
ValK412

Писал я ответы когда было неизвестно сколько там записей. Думаю при меньшем количестве записей картина будет несколько иной и накладные расходы открытия наборов перевесят цикл.
Согласен. К тому же, в моем примере при 500 записях время во всех вариантах меньше 1 ms.
Если учесть еще трудоемкость, не вижу смысла делать еще что-либо, кроме цикла.
Мой пост был скорей из серии - а вот еще бывает такое)
...
Рейтинг: 0 / 0
как узнать количество определенных записей для текущего Recordset?
    #40128762
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValK412
Мой пост был скорей из серии - а вот еще бывает такое)
дык второй мой совет про это.
...
Рейтинг: 0 / 0
19 сообщений из 44, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как узнать количество определенных записей для текущего Recordset?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (2): Анонимы (2)
Пользователи онлайн (7): Анонимы (5), Yandex Bot, Bing Bot
x
x
Закрыть


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