-
Так правильнопронумеровать записи в таблице при выводе пользователю? Делал на 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
-
а смысл этих нумераций в чем?
например пятая запись. это что значит?
-
> Alex_C (07.12.2011 16:06:00) [0]
Загадочная фраза "ADO+Access работало"
-
Поряуовый номер бывает нужен в отчётах, средствами генератора отчётов и делается. В интерфейсе он не нужен и бессмыслен - новая выборка с новыми исловиями и сортировкой изменит и номер. Если номер имеет смысл, например это номер записи в журнале, то и хранить его надо в базе.
-
Да, пронимеровать записи в выборке возможно в запросе, но сильно тормозно будет, поскольку специальных средств для этого нет, потому что это не нужно.
-
> например пятая запись. это что значит?
Нет смысла. Но пользователи хотят идеть Цыферку. Что реально нельзя как то просто?
> Да, пронимеровать записи в выборке возможно в запросе, но > сильно тормозно будет
Да я поле то уберу не проблема. Но я в шоке))) Вроде такая простая задача))
-
Да кстати -благодаря форуму переделал практически свою программу))) Круто получилось))) Еще раз спасибо ВСЕМ!!!!
-
Но пользователи хотят идеть Цыферку.
Им надо объяснить, что они не хотят видеть эту цифирьку, а им просто это кажется, что они хотят ее видеть.
А если они все же хотят ее видеть, то вероятно они смотрят на неправильное представление данных, которое ты им ошибочно дал. Ты им дал грид, а они хотят смотреть на таблицу в отчете.
-
> Inovet © (07.12.11 17:07) [3]
В генераторах отчетов это делается средствами генератора.
-
> Alex_C (07.12.2011 17:16:05) [5]
Которая не нужна в базах. Скажу страшное - ее нет даже в Эксель. Это очень вредная вещь.
-
> [8] Anatoly Podgoretsky © (07.12.11 17:36) > > Inovet © (07.12.11 17:07) [3] > > В генераторах отчетов это делается средствами генератора.
Это что за фраза?
-
> Да я поле то уберу не проблема. Но я в шоке))) Вроде такая > простая задача))
Вот представь себе. Ты играешь в преферанс. Тебе пришло 10 карт. Ты говоришь: "Хочу, штоб были циферки, с 1 по 10". ОК, расставили циферки. Ты взял карты в руки и расположил снаяала пики по старшинству, потом трефы, бубну и черви. Что станет с твоими циферками? Они перемешаются. Потом ты подумал, и расположил масти по старшинству, но сначала пики, потом бубны, потом трефы, потом черви. Ну чтобы чёрное-красное чередовалось. Что опять станет с твоими циферками? Они опять перемешаются. Ты сделал три захода с каких-то карт У тебя на руках осталось семь. Твои циферки мало того что перемешаются, в них ещё и "дырки" появятся.
Так вот. Колода - это таблица в СУБД, твои 10 карт - это записи, которые тебе вернул запрос. Сортировка по мастям и по возрастанию-убыванию, это то, что клиент в заголовках грида тыкает. Оставшиеся карты после сдачи - это тот фильтр, который клиент на выборку накладывает. Посему - задача не имеет никакого практического смысла. Только в одном случае: данные на клиенте никогда не сортируются и никак не фильтруются.
-
> Им надо объяснить, что они не хотят видеть эту цифирьку, > а им просто это кажется, что они хотят ее видеть.
Нет, они правильно хотят. Есть общая БД, есть сетевой софт, который через запрос выбирает записи и отображает их в гриде. Номер строки в гриде - это совершенно элементарное желание. Когда этих строк на экране штук 30, и текст почти не различается, то удобно иметь номер строки. Чтобы Марь Иванна могла Елене Николаевне просто сказать - посмотри пятую строку у поставщика РогаИКопыта. Это удобно, быстро, наглядно. Такая информация совсем лишней не бывает, занимает относительно мало места на экране. Запрос один, данные одни и те же, ситуация когда данные изменятся и один из клиентов не обновит список - бывает, но не смертальная в большинстве случаев. И как ее исправить очень просто донести даже до дубого пользователя, сделав кнопочку "обновить список". Меня удивляет насколько умными считают отвечающие и выдающие такие бредовые и недальновидные ответы. Понятия не имеющие какой софт у вопрошающего, но дающие однозначные ответы с высоты узкого кругозора.
-
Чтобы Марь Иванна могла Елене Николаевне просто сказать - посмотри пятую строку у поставщика РогаИКопыта.
Аха аха. Она пятая у мариванны. А у Елены Николаевны в это же самое время она вторая.
И типа других ключевых естественных ключей в гриде просто нету. Все документы рогов и копыт имеют одну дату, одну сумму, одно количество и вообще всё одно имеют. Но программист спешит на помощь и бабушкам и нумерует строки.
-
Понятия не имеющие какой софт у вопрошающего
У вопрошающего дурной софт. Если теткам нужны номера строк, они должны получить не грид, а отчет.
-
> Меня удивляет насколько умными считают отвечающие и выдающие > такие бредовые и недальновидные ответы.
Знаешь... Это твоё посмотри пятую строку у поставщика РогаИКопыта выглядит бредовым. Такое впечатление, что ты никогда БД не проектировал. Если тебе нужно нумеровать сроки у поставщика - заведи в таблице "Строки поставщиков" поле StringNr, поставь уникальный индекс на сочетание (ID_Поставщика, StringNr), Order by ID_Поставщика, StringNr и смело выводи его в грид отдельной колонкой. Опять таки с возможностью сортировки на клиенте. Но нумеровать строки в НД это просто бессмысленно.
-
> Она пятая у мариванны. А у Елены Николаевны в это же самое > время она вторая.
с чего бы это? одна база, один запрос, обе сделали обновление отображаемых данных в гриде. Так не может быть?
> И типа других ключевых естественных ключей в гриде просто > нету.
Я уже говорил про узкий кругозор. Это исправляется, но исключительно при собственном желании и действии, сидя за компьютером дома и отвечая глупыми советами на ДМ кругозор не сильно расширяется.
> У вопрошающего дурной софт.
Свободен. Крестик справа сверху
-
с чего бы это? одна база, один запрос, обе сделали обновление отображаемых данных в гриде. Так не может быть?
Так может быть. А еще так может и не быть.
Могу рассказать возможные варианты.
-
> Это твоё посмотри пятую строку у поставщика РогаИКопыта > выглядит бредовым
ты хоть глупости не говори, пожалуйста. я отвечал медвежонку на конкретную фразу, глянь что я отквотил
> Но нумеровать строки в НД это просто бессмысленно.
я без понятия кто подумал что я говорю про нумерацию в БД
-
> Так может быть. > А еще так может и не быть.
Вот тебе и ответ. Значит однозначного твоего:
> Им надо объяснить, что они не хотят видеть эту цифирьку, > > > а им просто это кажется, что они хотят ее видеть.
быть не должно.
|