![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Пронумеровать записи [Access]
Alex_C © (2011-12-07 16:06:00)
Страницы: < 1 2 3 4 5 6 7 8 9 10 11
Так правильнопронумеровать записи в таблице при выводе пользователю? Делал на 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
Ega23 (2011-12-07 21:02:00) [201]
> Меня удивляет насколько умными считают отвечающие и выдающие
> такие бредовые и недальновидные ответы.
Знаешь... Это твоё посмотри пятую строку у поставщика РогаИКопытавыглядит бредовым. Такое впечатление, что ты никогда БД не проектировал. Если тебе нужно нумеровать сроки у поставщика - заведи в таблице "Строки поставщиков" поле StringNr, поставь уникальный индекс на сочетание (ID_Поставщика, StringNr), Order by ID_Поставщика, StringNr и смело выводи его в грид отдельной колонкой. Опять таки с возможностью сортировки на клиенте.
Но нумеровать строки в НД это просто бессмысленно.
Медвежонок Пятачок (2011-12-07 21:00:00) [202]Понятия не имеющие какой софт у вопрошающего
У вопрошающего дурной софт.
Если теткам нужны номера строк, они должны получить не грид, а отчет.
Медвежонок Пятачок (2011-12-07 20:59:00) [203]Чтобы Марь Иванна могла Елене Николаевне просто сказать - посмотри пятую строку у поставщика РогаИКопыта.
Аха аха.
Она пятая у мариванны. А у Елены Николаевны в это же самое время она вторая.
И типа других ключевых естественных ключей в гриде просто нету.
Все документы рогов и копыт имеют одну дату, одну сумму, одно количество и вообще всё одно имеют.
Но программист спешит на помощь и бабушкам и нумерует строки.
antonn (2011-12-07 20:46:00) [204]
> Им надо объяснить, что они не хотят видеть эту цифирьку,
> а им просто это кажется, что они хотят ее видеть.
Нет, они правильно хотят.
Есть общая БД, есть сетевой софт, который через запрос выбирает записи и отображает их в гриде. Номер строки в гриде - это совершенно элементарное желание. Когда этих строк на экране штук 30, и текст почти не различается, то удобно иметь номер строки. Чтобы Марь Иванна могла Елене Николаевне просто сказать - посмотри пятую строку у поставщика РогаИКопыта. Это удобно, быстро, наглядно. Такая информация совсем лишней не бывает, занимает относительно мало места на экране. Запрос один, данные одни и те же, ситуация когда данные изменятся и один из клиентов не обновит список - бывает, но не смертальная в большинстве случаев. И как ее исправить очень просто донести даже до дубого пользователя, сделав кнопочку "обновить список".
Меня удивляет насколько умными считают отвечающие и выдающие такие бредовые и недальновидные ответы. Понятия не имеющие какой софт у вопрошающего, но дающие однозначные ответы с высоты узкого кругозора.
Ega23 (2011-12-07 19:11:00) [205]
> Да я поле то уберу не проблема. Но я в шоке))) Вроде такая
> простая задача))
Вот представь себе.
Ты играешь в преферанс. Тебе пришло 10 карт. Ты говоришь: "Хочу, штоб были циферки, с 1 по 10". ОК, расставили циферки. Ты взял карты в руки и расположил снаяала пики по старшинству, потом трефы, бубну и черви.
Что станет с твоими циферками? Они перемешаются.
Потом ты подумал, и расположил масти по старшинству, но сначала пики, потом бубны, потом трефы, потом черви. Ну чтобы чёрное-красное чередовалось.
Что опять станет с твоими циферками? Они опять перемешаются.
Ты сделал три захода с каких-то карт У тебя на руках осталось семь. Твои циферки мало того что перемешаются, в них ещё и "дырки" появятся.
Так вот. Колода - это таблица в СУБД, твои 10 карт - это записи, которые тебе вернул запрос. Сортировка по мастям и по возрастанию-убыванию, это то, что клиент в заголовках грида тыкает. Оставшиеся карты после сдачи - это тот фильтр, который клиент на выборку накладывает.
Посему - задача не имеет никакого практического смысла.
Только в одном случае: данные на клиенте никогда не сортируются и никак не фильтруются.
Anatoly Podgoretsky (2011-12-07 17:37:00) [206]> Alex_C (07.12.2011 17:16:05) [5]
Которая не нужна в базах. Скажу страшное - ее нет даже в Эксель.
Это очень вредная вещь.
Inovet (2011-12-07 17:37:00) [207]> [8] Anatoly Podgoretsky © (07.12.11 17:36)
> > Inovet © (07.12.11 17:07) [3]
>
> В генераторах отчетов это делается средствами генератора.
Это что за фраза?
Anatoly Podgoretsky (2011-12-07 17:36:00) [208]
> Inovet © (07.12.11 17:07) [3]
В генераторах отчетов это делается средствами генератора.
Медвежонок Пятачок (2011-12-07 17:27:00) [209]Но пользователи хотят идеть Цыферку.
Им надо объяснить, что они не хотят видеть эту цифирьку, а им просто это кажется, что они хотят ее видеть.
А если они все же хотят ее видеть, то вероятно они смотрят на неправильное представление данных, которое ты им ошибочно дал.
Ты им дал грид, а они хотят смотреть на таблицу в отчете.
Alex_C (2011-12-07 17:17:00) [210]Да кстати -благодаря форуму переделал практически свою программу))) Круто получилось))) Еще раз спасибо ВСЕМ!!!!
Alex_C (2011-12-07 17:16:00) [211]
> например пятая запись. это что значит?
Нет смысла. Но пользователи хотят идеть Цыферку.
Что реально нельзя как то просто?
> Да, пронимеровать записи в выборке возможно в запросе, но
> сильно тормозно будет
Да я поле то уберу не проблема. Но я в шоке))) Вроде такая простая задача))
Inovet (2011-12-07 17:10:00) [212]Да, пронимеровать записи в выборке возможно в запросе, но сильно тормозно будет, поскольку специальных средств для этого нет, потому что это не нужно.
Inovet (2011-12-07 17:07:00) [213]Поряуовый номер бывает нужен в отчётах, средствами генератора отчётов и делается. В интерфейсе он не нужен и бессмыслен - новая выборка с новыми исловиями и сортировкой изменит и номер. Если номер имеет смысл, например это номер записи в журнале, то и хранить его надо в базе.
Anatoly Podgoretsky (2011-12-07 16:15:00) [214]> Alex_C (07.12.2011 16:06:00) [0]
Загадочная фраза "ADO+Access работало"
Медвежонок Пятачок (2011-12-07 16:08:00) [215]а смысл этих нумераций в чем?
например пятая запись. это что значит?