|
0 / 0 / 0
Регистрация: 11.08.2009
Сообщений: 19
|
|
Нумерация в DBGrid18.08.2009, 07:53. Показов 6969. Ответов 15
Метки нет (Все метки)
Скажите пожалуйста, как сделать нормальную нумераю в DBGride ?
У меня столбец №, типа счетчик в аксесе, когда добавляю строку нумерация нормальная, а когда удаляю нумерация не обновлятся, т.е. удаляем строку номер 2, то получается в таблице 1, 3 , 4.
0
|
|
| 18.08.2009, 07:53 | |
|
Ответы с готовыми решениями:
15
Нумерация в dbgrid Нумерация строк в dbgrid Нумерация в DBGrid |
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 18.08.2009, 08:52 | |
|
Aka, если юзать стандартный счетчик, то он себя так и будет вести, даже когда удалить все данные из таблицы и начать заполнять заново... вообще счетчик используется для идентификации записи и показывать его пользаку не надо... да и вообще занятие вы начали неблагодарное, потому что когда у вас на большом кол-ве записей таблицу при удалении будет постоянно передергивать, чтобы настроить счетчик корректно, то это скорости вашей программе не добавит...
0
|
|
|
50 / 49 / 16
Регистрация: 12.03.2009
Сообщений: 133
|
|
| 18.08.2009, 08:55 | |
|
Поле в акцессе типа счетчик нужен, во-сновном как первичный ключ, поэтому эти значения должны быть уникальны. И акцесс не заботиться о том, чтобы они были последовательны. При добавлении нового значения, он увеличивает текущее свое значение на 1 и ему не важно что вы удали одну из строк (такой у него алгоритм) и эти значения если это первичный ключ не возможно никак исправить.
пысы. опоздал)
0
|
|
|
0 / 0 / 0
Регистрация: 11.08.2009
Сообщений: 19
|
|
| 18.08.2009, 09:05 [ТС] | |
|
просто этот столбец для меня немаловажен, в той таблице он необходим! вот и нада сделать.
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 18.08.2009, 09:13 | |
|
Aka, ну расскажи нам о его назначении, может что получше придумаем
0
|
|
|
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
|
|
| 18.08.2009, 09:20 | |
|
так вроде я нигде не видел что бы идентификатор выводил попорядку, так как в связанных таблицах ему тогда тоже надо будет все данные менять вот по этому скорее всего так и получается
0
|
|
|
0 / 0 / 0
Регистрация: 11.08.2009
Сообщений: 19
|
|
| 18.08.2009, 09:27 [ТС] | |
|
моя прога про картриджи, есть картриджи одинаковых моделей, чтобы различать и знать сколько всего их, вот поэтому нужен этот столбец и ориентироватся легче по номерам
0
|
|
|
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
|
|
| 18.08.2009, 09:32 | |
|
ну количество то не проблема, а вот для различия можно скорее всего что то другое придумать
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 18.08.2009, 09:36 | |
|
ну вообще счетчика вам хватит, но вот выводить его простым смертным не нужно, это информация служебная... а посчитать их легко с помощью sql-запроса и функции count... но при этом я просто уверен, что пользователю будет абсолютно фиолетово, под какими номерами они...
0
|
|
|
0 / 0 / 0
Регистрация: 11.08.2009
Сообщений: 19
|
|
| 18.08.2009, 09:39 [ТС] | |
|
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 18.08.2009, 09:58 | |
|
Aka, вы бы видели rowid в оракле, информативность для пользователя нулевая, зато это то важное поле, по которому однозначно идентифицируется запись в таблице, тоже самое и ваш счетчик - он нужен вам, чтобы найти запись, пользователю даже знать об этом не надо...
0
|
|
|
50 / 49 / 16
Регистрация: 12.03.2009
Сообщений: 133
|
|
| 18.08.2009, 13:58 | |
|
Могу предложить такой вариант, но если в таблице будет очень много значений, то он будет очень медленный.
В исходной таблице создать дополнительное поле типа integer, и при загрузке таблицы заносить в это поле последовательные значения, тогда даже если вы удалите какую либо строку, то при перезагрузки значения снова будут последовательны. Но если бы вы полностью описали всю картину что требуется, возможно предложил бы иной метод. Например создания 2-х связанных таблиц. Но повторюсь для этого нада знать полностью вашу задачу.
0
|
|
|
Комбайнёр
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
|
|
| 18.08.2009, 15:08 | |
|
Для этого нужно вручную добавлять поле и заполнять его (1, 2, 3 ...)
0
|
|
|
0 / 0 / 0
Регистрация: 11.08.2009
Сообщений: 19
|
||
| 19.08.2009, 08:11 [ТС] | ||
|
вручную ваще не вариант
Добавлено через 20 минут 29 секунд
0
|
||
|
28 / 29 / 0
Регистрация: 17.04.2009
Сообщений: 73
|
|
| 20.08.2009, 16:12 | |
|
можно заполнять это поле программно или через триггер (не знаю есть ли в аксесе что-то подобное), пусть поле id (но он должен быть не счетчиком, а просто числовым)
1) можно присваивать max(id) + 1, но это вариант удаления кончных записей, то есть если удалить середку, то нумерация не восстановиться 2) проитись от начального номера до max(id), и на отсутствующем остановиться, но это повлияет на скорость работы программы собственно выбор невелик...
0
|
|
|
50 / 49 / 16
Регистрация: 12.03.2009
Сообщений: 133
|
|
| 24.08.2009, 11:16 | |
|
0
|
|
| 24.08.2009, 11:16 | |
|
Помогаю со студенческими работами здесь
16
Запросы: для выбранного в DBGrid сотрудника отобразить информацию в другом DBGrid [C++ builder XE] DBGrid. Удаление/добавление/изменение БД mysql через DBGrid Как вывести в DBGrid информацию только по выбранной строке в другой таблице DBGrid? Как можно посчитать разницу столбцов DBGrid и вывести в другой столбец другого DBGrid?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|