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


Медвежонок Пятачок   (2011-12-07 21:53:00) [181]

-На какйо строке МарьИванна? -На 37!

Нет, он же просто невменяем.

мариванна набивает с листа.
и номер строки в вопросе - он на листе.
и на листе бумаги этот номер строки вполне логичен и понятен.


antonn   (2011-12-07 21:46:00) [182]


> Вообще-то хорошим тоном будет сохранение значения ключевого
> поля в НД при выходе из программы.

Я не про выход. Вот сидит оператор, набивает строки, редактирует что то там. Остановилась на десятой строке, сделала передышку, сделала еще десять. "-На какйо строке МарьИванна? -На 37! -Медленно работаешь!"


>
> Вообще-то хорошим тоном считается вывод общего количества
> записей в НД в статус-бар.

вообще еще группировка бывает :)
например как тут http://www.ssw.com.au/SSW/Standards/DeveloperGeneral/Images/janus_gridex_v3.gif


> А для того, чтобы "отсортируй столбцы по цене" мне надо:
>
> 1. В точности повторить именно ту сортировку и те фильтры,
>  которые у соседки.
> 2. После отсчитать нужное количество строк
> 3. Посмотреть, чё там и как.
> 4. Снова восстановить все сортировки и фильтры, которые
> были у меня выставлены изначально.

вот я и говорю - зачем считать? щелкнул по столбцу и отмотал сразу ориентируясь на номера строк.
Я почему тему завел - каждый рабочий день общаюсь с операторами которые далеко не гуру, часто путают "диск Це" и "мои документы", но они умеют сортировать по столбцу, и даже умеют менять очередность столбцов перпетаскиванием (грид позволяет). Быстрый поиск - это как автокомплит в дельфи? А если там "ОООРогаИКопытаДомодедовскихАвиалиний" и различие в строках идет уже после этого заклинания? И строк штук 50-100?


Ega23   (2011-12-07 21:42:00) [183]


> тебе нарисовать? сейчас 2011 год, если что


Никто не говорит, что этого сделать невозможно. Вполне возможно. Только будет это работать только в случае соблюдения массы нюансов. А во всех остальных - фиг.


Ega23   (2011-12-07 21:40:00) [184]


> абсолютно никогда? никогда нет смысла нумеровать строки
> в отображаемом гриде на экране?


Почему в TDBGrid нет нумерации строк? Ведь это "так естественно"!
Почему в стандартной поставке компонентов нет TDBTreeView? Ведь это так естественно!
Почему ParamSwitch распознаёт только один символ, а не несколько? Ведь это так естественно!


Медвежонок Пятачок   (2011-12-07 21:39:00) [185]

тебе нарисовать?

Нарисуй. Только не мне.
Ембаркадере нарисуй.
И уломай их включить это недоразумение как 3rd party компонент в XE3


antonn   (2011-12-07 21:38:00) [186]


> если бы он был, то гриды были бы именно такими bydesign

тебе нарисовать? сейчас 2011 год, если что


Ega23   (2011-12-07 21:37:00) [187]


> и не думаете применять нумерацию в своих личных целях (запример
> запомнив номер последней строки с которой работали)


Вообще-то хорошим тоном будет сохранение значения ключевого поля в НД при выходе из программы. И, соответственно, Locate на него при старте.


>  Вам никогда не понадобится одним взглядом окинув грид увидеть
> общее количество строк


Вообще-то хорошим тоном считается вывод общего количества записей в НД в статус-бар.


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


Быстрый поиск по столбцу ещё никто не отменял. А для того, чтобы "отсортируй столбцы по цене" мне надо:
1. В точности повторить именно ту сортировку и те фильтры, которые у соседки.
2. После отсчитать нужное количество строк
3. Посмотреть, чё там и как.
4. Снова восстановить все сортировки и фильтры, которые были у меня выставлены изначально.
Плохая эргономика, плохая программа.


Медвежонок Пятачок   (2011-12-07 21:35:00) [188]

никогда нет смысла нумеровать строки в отображаемом гриде на экране?

если бы он был, то гриды были бы именно такими bydesign


antonn   (2011-12-07 21:31:00) [189]


> А вот нумерация "строк" в наборе данных - нет.

абсолютно никогда? никогда нет смысла нумеровать строки в отображаемом гриде на экране?


Ega23   (2011-12-07 21:30:00) [190]


> я без понятия кто подумал что я говорю про нумерацию в БД


Так как нумерация в БД имеет вполне конкретный смысл.
А вот нумерация "строк" в наборе данных- нет.


> быть не должно.


Наоборот. Ты просто обязан объяснить заказчику, что он хочет получить и каковы будут последствия этого. если он настаивает и готов оплатить данную работу - ну тут да, любой каприз за ваши деньги. Но если ты сам, без его желания туда такое прикрутишь - это дурь.
Такое имеет смысл только в неизменяющихся (ну либо крайне редко изменяющихся) справочных таблицах. Но для этого есть масса других вариантов решения.
Пример из жизни: когда-то давно, лет 7 назад, я являлся разработчиком модуля "Бюро Пропусков" в рамках большой охранной системы. Как раз с такими МарьИваннами приходилось дело иметь.
Так вот, я во всех справочных таблицах заводил поле SortOrdedr, которое делал настраиваемым. Как раз для того, чтобы МарьИванна имела возможность получать наиболее часто используемые справочные данные в начале НД, а не искать их.


Медвежонок Пятачок   (2011-12-07 21:27:00) [191]

и тогда вы не сможите друг другу сказать номер строки и однозначно идентифицировать объект.

разумеется не смогут.
объекты идентифицируются их атрибутами, а не тем кто в каком порядке выстроился.


antonn   (2011-12-07 21:26:00) [192]


> ну я же говорил, что тот софт дурной.

а я говорил про шоры.
на том и порешим


Медвежонок Пятачок   (2011-12-07 21:25:00) [193]

ситуации когда кликать нельзя - не бывает?

ну я же говорил, что тот софт дурной.
еще и кликать для сортировки нельзя.


antonn   (2011-12-07 21:19:00) [194]

В общем как я вижу ситуацию глазами Пятачка:
- Данные на клиенте нельзя нумеровать. Потому что вы, тупые курицы (операторы), будите сортировать их и тогда нумерация не будет одинаковой и тогда вы не сможите друг другу сказать номер строки и однозначно идентифицировать объект. Разумеется вы, старые калоши, и не думаете применять нумерацию в своих личных целях (запример запомнив номер последней строки с которой работали), а не при общении друг с другом, используйте маркеры. И уж тем более вы никогда не сможите общаясь друг с другом сказать "отсортируй столбцы по цене", ведь это недосягаемое кун фу для вас. Вам никогда не понадобится одним взглядом окинув грид увидеть общее количество строк, а если понадобится, то я где нибудь отдельно прикручу эту цифру. Исходя из этого я констатирую - вам не нужна нумерация, абсолютно.
И вообще отстаньте, у меня из-за вас шоры виски натирают.


antonn   (2011-12-07 21:11:00) [195]


> Но мариванна кликнула по заголовку цены

ситуации когда кликать нельзя - не бывает?
будешь дальше спорить?


Медвежонок Пятачок   (2011-12-07 21:10:00) [196]

Маривана видит пять строк рогов и копыт.
Нинапетровна тоже видит пять строк рогов и копыт.

Но мариванна кликнула по заголовку цены и во второй строке у нее документ на сто рублей.
А нинапетровна никуда не кликала, и второй документ у нее на десять рублей.

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

и так далее.

в общем дурь программирует дурь.


antonn   (2011-12-07 21:06:00) [197]


> Так может быть.
> А еще так может и не быть.

Вот тебе и ответ. Значит однозначного твоего:

> Им надо объяснить, что они не хотят видеть эту цифирьку,
>
> >  а им просто это кажется, что они хотят ее видеть.

быть не должно.


Медвежонок Пятачок   (2011-12-07 21:05:00) [198]

с чего бы это? одна база, один запрос, обе сделали обновление отображаемых данных в гриде. Так не может быть?

Так может быть.
А еще так может и не быть.

Могу рассказать возможные варианты.


antonn   (2011-12-07 21:05:00) [199]


> Это твоё посмотри пятую строку у поставщика РогаИКопыта
> выглядит бредовым

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


> Но нумеровать строки в НД это просто бессмысленно.

я без понятия кто подумал что я говорю про нумерацию в БД


antonn   (2011-12-07 21:03:00) [200]


> Она пятая у мариванны. А у Елены Николаевны в это же самое
> время она вторая.

с чего бы это? одна база, один запрос, обе сделали обновление отображаемых данных в гриде. Так не может быть?


> И типа других ключевых естественных ключей в гриде просто
> нету.

Я уже говорил про узкий кругозор. Это исправляется, но исключительно при собственном желании и действии, сидя за компьютером дома и отвечая глупыми советами на ДМ кругозор не сильно расширяется.


> У вопрошающего дурной софт.

Свободен. Крестик справа сверху


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

Наверх

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