Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как проставить №п/п? [D7, XP]


Страницы:   1 2

deras ©   (2008-07-14 19:36:00) 

Есть FB2.0
Таблица Т1 имеет поля ID, Date, Num. Заполнены только поля ID и Date. Есть около 3 тыс. записей.
Как проставить в поле Num номер п/п записей, отсортированых по дате?
Спасибо


Тын-Дын   (2008-07-15 11:17:00) [21]

Удалено модератором
Примечание: Верно подмечено


Johnmen   (2008-07-15 11:10:00) [22]

Самый простой, и самый верный, способ - это использовать стандартную функциональность генератора отчетов. И не маятся ...й.

> Примечание: Выражения выбираем, не в пивной

Так нормально?


Sergey13   (2008-07-15 09:39:00) [23]

> [0] deras   (14.07.08 19:36)
> отсортированых по дате

> [2] deras   (14.07.08 19:54)
> со ссылкой на первый отчет именно по полю №п/п

А почему бы не сделать ссылку на дату? №п/п получается лишним.


Johnmen   (2008-07-14 22:39:00) [24]

Удалено модератором
Примечание: Выражения выбираем, не в пивной


Loginov Dmitry   (2008-07-14 22:35:00) [25]

> Как проставить в поле Num номер п/п записей, отсортированых
> по дате?


Используй конструкцию EXECUTE BLOCK. Имхо, самый простой способ. Пример:


execute block returns (ID integer,  "DATE" timestamp, Num integer)
as
begin
 :Num = 0;
 for select t.id, t.ADATE from MyTable t order by t.ADATE
 into :ID, :ADATE
 do
 begin
   :Num = :Num + 1;
   suspend;
 end
end


Desdechado   (2008-07-14 20:43:00) [26]

Не нужно хранить то, что может быть сгенерировано налету.
Тем более, что записи могут удаляться или изменяться (даты), или вообще меняться принцип сортировки в отчетах. Зачем же тогда каждый раз мучить таблицу перезаписью?


Тын-Дын   (2008-07-14 20:37:00) [27]


> deras   (14.07.08 20:12) [4]
> я тож так хотел делать...  Но думал, есть менее ресурсоемкий
> вариант.. Но все равно спасибо!


Одноразовая задача. Зачем её оптимизировать?


deras   (2008-07-14 20:12:00) [28]

я тож так хотел делать...  Но думал, есть менее ресурсоемкий вариант.. Но все равно спасибо!


Тын-Дын   (2008-07-14 19:57:00) [29]


> deras   (14.07.08 19:36)  


Пробежать в цикле по таблице, последовательно увеличивая и записывая число.


deras   (2008-07-14 19:54:00) [30]

это поле необходимо для формирования отчетов. В первом отчете будет просто визуализация этого поля, а остальные отчеты будут детализировать первый (со ссылкой на первый отчет именно по полю №п/п)


Smile   (2008-07-14 19:48:00) [31]

Ну, на первый взгляд, в этом нет никакой необходимости. По-скольку это "поле" может понадобиться лишь при визуализации таблицы (каким-либо образом) или при формировании отчета.
Ну, а в этих случаях есть множество вариантов.
Уточните потребность в №п/п.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо