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

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

Пронумеровать записи [Access]


Страницы:   1 2 3 4 5 6 7 8 9 10 11

Alex_C ©   (2011-12-07 16:06:00) 

Так правильнопронумеровать записи в таблице при выводе пользователю? Делал на CalcFields

 if LogTable.RecNo <> -1 then
   LogTableNumer.AsInteger := LogTable.RecNo
 else if LogTable.Bof then
   LogTableNumer.AsInteger := 1
 else if LogTable.Eof then
   LogTableNumer.AsInteger := LogTable.RecordCount;

До использования ADO+Access работало. Сейчас первую и последнюю запись неправильно нумерует - первую как номер последней записи, последнюю - как 1


Anatoly Podgoretsky   (2011-12-17 19:28:00) [21]

> Андреевич  (17.12.2011 10:27:05)  [185]

Возможности удаления записи не должно быть!


Anatoly Podgoretsky   (2011-12-17 19:27:00) [22]

> Inovet  (17.12.2011 10:20:04)  [184]

Именно поле НомерСвязи, а не нумерация в гриде. Может быть автоинкриментное
поле. Пропусков в принципе быть не может - записи не удаляются никогда, а
заносятся только по окончанию связи, то есть только завершенные связи, а
завершенной связь считается после обменая информацией о сигнале (RST).


Андреевич   (2011-12-17 19:23:00) [23]


> 2. Статический номер - типа id связи - но тут есть много
> проблем, допустим как быть при слиянии нескольких логов,
>  если человек из разных мест работает.

может тогда уникальным полем сделать guid? разумеется  нет смысла его отображать, но и в разных базах его не будет (теоретически), выборка по дате и все такое..


sniknik   (2011-12-17 18:52:00) [24]

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

> Как правильно было сказано - как номер документа.
номер документа <> номер записи.

> и номер связи вывожу на статусбаре.
фигню ты выводишь, а не номер связи.

p.s. почему спрашивая про одно имеют ввиду совсем другое? а на попытки выяснить, что, начинается всякая хрень, но не раскрытие темы.


DiamondShark   (2011-12-17 18:17:00) [25]


> Но даже в этом случае проблема то осталась: при вводе новой
> связи ее номер высвечивается как -1.

Как высвечиваешь -- так и высвечивается.
Не нравится "-1" высвечивай "Новая запись".


> Чтоб номер стал правильным, ножно скроллинг сделать.

Врёшь. Чтоб номер стал правильным, нужно Post сделать, что, вообще говоря, логично: невведённая запись ещё не существует.


DiamondShark   (2011-12-17 18:10:00) [26]


> Теперь реально: наверное у нас радиолюбителей из тех, давних
> времен пошла привычка, что у связи длжен быть номер.

Не прошло и недели, как ты сподобился поделиться деталями предметной области.

Реально твой номер -- это атрибут данных. Он должен быть реальным полем.


Андреевич   (2011-12-17 12:01:00) [27]


> есть только привычка юзеров видеть такую колонку с номером,
>  а то что в ней цена на дрова

вот я и говорю - лишь для наглядности


Inovet   (2011-12-17 11:58:00) [28]

> [187] Alex_C   (17.12.11 11:35)
> 1. Динамимеский номер - зависит от сортировки. Пересортируем
> - номер уже другой. Но он есть
> 2. Статический номер - типа id связи - но тут есть много
> проблем, допустим как быть при слиянии нескольких логов,
> если человек из разных мест работает.
> В результате вроде как пришли к мнению пусть будет 1.

Значит чётких требований нет, есть только привычка юзеров видеть такую колонку с номером, а то что в ней цена на дрова, так лишь бы что было. Убрал - и правильно, они поймут, что им это не надо.


Alex_C   (2011-12-17 11:35:00) [29]


> из отцитированоого можно заключить, что порядок по номеру
> может не совпадать с порядком по времени?


Это очень обсуждаемая тема у радиолюбителей. Раньше каждая проведенная радиосвязь в журнале на бумаге должна была иметь номер. Как правильно было сказано - как номер документа. Конечно, раньше же нельзя было на бумаге пересортировывать связи)))
Теперь есть 2 варианта:
1. Динамимеский номер - зависит от сортировки. Пересортируем - номер уже другой. Но он есть
2. Статический номер - типа id связи - но тут есть много проблем, допустим как быть при слиянии нескольких логов, если человек из разных мест работает.
В результате вроде как пришли к мнению пусть будет 1.

Ну да ладно. Я вчера вообще эту котонку убрал и номер связи вывожу на статусбаре. Но даже в этом случае проблема то осталась: при вводе новой связи ее номер высвечивается как -1. Чтоб номер стал правильным, ножно скроллинг сделать.


Inovet   (2011-12-17 10:44:00) [30]

> [185] Андреевич   (17.12.11 10:27)
> Мне кажется он это имел ввиду

Нет, речь о номере в журнале.

> [180] Alex_C   (17.12.11 00:35)
> что у связи длжен быть номер. И ОСНОВНАЯ сортировка - по времени.

Вчера уже не стал спрашивать. Номер вообще-то логически лишний, раз есть время, но это номер документа, значит надо его хранить в базе. А вопрос такой: из отцитированоого можно заключить, что порядок по номеру может не совпадать с порядком по времени?


Андреевич   (2011-12-17 10:27:00) [31]

Ну это id сеанса, вполне допускаю (со своей колокольни) что достаточно автоинкрементного поля и возможность удаления записей. А если там будет вывод с группировкой (по дню, например), то сделать в каждом дне свою нумерацию порядковую для наглядности- почему нет? Мне кажется он это имел ввиду


Inovet   (2011-12-17 10:20:00) [32]

> [183] Андреевич   (17.12.11 09:42)
> > как неотъемлемово атрибута связи
>
> а если не неотъемлемого?

Автор сказал - неотемлемый, только другими словами. Оно так и есть - в аппаратном журнале каждый сеанс связи должна быть под своим порядковым номером. Как там насчёт пропусков номеров - не знаю, вообще-то не должно быть.


Андреевич   (2011-12-17 09:42:00) [33]


> как неотъемлемово атрибута связи

а если не неотъемлемого? навроде того как иногда раскрашивают строки в зависимости от данных в них хранящихся :)


Alex_C   (2011-12-17 01:00:00) [34]


> Повторяю в непоню какой раз

Напишу еще раз - неужели в OnCalcField - данную проблему нельзя решить? Ведь значения в ней только для первой и последней записи неверно выводятся.


Inovet   (2011-12-17 00:55:00) [35]

> [180] Alex_C   (17.12.11 00:35)
> давних времен пошла привычка, что у связи длжен быть номер

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


Alex_C   (2011-12-17 00:35:00) [36]


> Пока что в "Начинающих" спрашиваешь ты.

Тут отвечают лучше и меньше хамят.

> в DbGridEh есть нумерация. И работает.

Использую версию 3... какую-то еще бесплатную. Там есть, не в курсе? Но если что - и в новых посмотрю.

> "установлено правилами" и т.д. не принимается в логическом
> споре...

Установлено правилами любительской радиосвязи о ведении аппаратного журнала. Установлено еще для бумажного образца. Но от сюда и все ноги растут.
Теперь реально: наверное у нас радиолюбителей из тех, давних времен пошла привычка, что у связи длжен быть номер. И ОСНОВНАЯ сортировка - по времени.

> p.p.s. для международного уровня слабоват... простейшая
> задача, в одну строку, и так долго "решаешь".

А я не боюсь показаться новичком и спросить совета - для души ведь делаю, не для денег - вот по этому моя програ и лучше других))


sniknik   (2011-12-12 01:00:00) [37]

> есть условие. ОБЯЗАТЕЛЬНОЕ. Установлено правилами - нумерация должна быть.
это не объяснение для "технической  интеллигенции"... это скорее "красная тряпка", чтобы "по бодаться". ты мне так менеджеров этим напоминаешь. не доходит что ли? никаких "так надо", "юзер так хочет" , "установлено правилами" и т.д. не принимается в логическом споре... только логические аргументы.
особенно когда у народа ОПЫТ, и он часто плачевный, т.как стоит сделать "именно так" так сразу "что за фигня? мы имели в виду не это". или это, но тогда до первой проблемы,  и "а ты что не мог настоять? мы то не местные, мы не понимаем...", а то что сделать чуть ли не с пистолетом "уговаривали", сразу "забывается".  

давай так, понятнее наверное будет. - ты мне разумную причину "нужности", я тебе решение. пойдет?
p.s. разговоры между тетей Клавой и Марь Иванновной где они радостно друг другу кричат номера "не канают", без документа, с его внутренней нумерацией, а просто в гриде, 0 целых хрен десятых, что номер совпадет, т.что звиняйте, не разумно.
p.p.s. для международного уровня слабоват... простейшая задача, в одну строку, и так долго "решаешь".


Inovet   (2011-12-12 00:00:00) [38]

> [174] Alex_C   (11.12.11 22:43)
> Долго советовался с народом - все сказали - нам плевать
> на правила "программирования" - МЫ пользуем твою программу.
> Нам нумерация нужна.

Они явно о другой нумерации говорили. Это не по "правилам программирования", а из простой логики не нужна такая нумерация, другая нужна.


DVM   (2011-12-11 23:46:00) [39]


> Alex_C  

в DbGridEh есть нумерация. И работает.

Только она не нужна как уже правильно сказали.


DiamondShark   (2011-12-11 23:36:00) [40]


> И если моей программой пользуются во многих странах мира
> - то значит я знаю, что пишу.

Пока что в "Начинающих" спрашиваешь ты.
Если ты такой крутой, то не ходи в "Начинающие", а иди лесом. По слогам: "ле-сом", первая буква "Х".


Страницы:   1 2 3 4 5 6 7 8 9 10 11

Наверх

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