AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.03.2005, 16:57   #15  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
Цитата:
Сообщение от Shoorik
Цитата:
Сообщение от Likefire
Цикл в данном случае очень непродуктивно, так как записей в таблице может быть очень много и пробегаться по каждой записи, чтобы найти последний элемент таблицы - мягко говоря неумно, потому что существует такой простой метод как COUNT.
RESET(Customer); //сбрасываем все фильтры = все записи таблицы
IsCount := Customer.COUNT;

Сustomer.SETRANGE("No.", No1, No2); //ставим фильтр = избранные записи
IsCount := Customer.COUNT;

Вот и вся любовь...
Цикл в данном случае очень непродуктивно, так как записей в таблице может быть очень много и пробегаться по каждой записи, чтобы найти последний элемент таблицы - мягко говоря неумно, потому что существует такой простой метод как COUNT.

Не понял идеи. При чём здесь COUNT?
Искать последнюю запись с помощью цикла - далеко не лучшая идея, конечно :-) Но вопрос был не об этом - человеку, как я понял, нужно изменить значение поля во всех записях. В этом деле COUNT точно не поможет, там без цикла не обойтись.
Для того, чтобы найти последнюю запись, на самом деле, существует такой простой метод как FIND('+')

В примере кода, приведённом Вами я опять-таки не увидел поиска поска записи.

RESET(Customer); //сбрасываем все фильтры = все записи таблицы
IsCount := Customer.COUNT;

Сustomer.SETRANGE("No.", No1, No2); //ставим фильтр = избранные записи
IsCount := Customer.COUNT;

Вы здесь дважды считаете количество записей. Первый раз - всего в такблице, второй - количество записей, удовлетворяющих фильтру. А где, собственно, поиск?
Вообще-то человеку нужно было общее количество записей в таблице...
Да,- я дважды считаю количество записей, но только для примера, чтобы было понятно, что при применении фильтров, инструкция COUNT передаёт различные значения...
А насчёт бага навиженовского движка - справедливо, да и flowfield'ы типа SUM в больших таблицах встречаются достаточно часто. Про то, что умно, а что неумно - погорячился...
И ещё: насчёт RESET... Конечно же нужно применять инструкцию не RESET(Customer), а Customer.RESET...
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков!
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 04:37.