Страница 1 из 1

Поле ID

Добавлено: 18 апр 2011, 20:52
Catharsis
Добрый вечер участникам форума! Подскажите пожалуйста как сделать в МИ, чтобы имеющееся поле ID заполнялось автоматически при создании новых объектов по порядку?

Re: Поле ID

Добавлено: 18 апр 2011, 22:02
Boris
нет ни одного варианта, который бы не требовал программирования, тем более с перехватом конца редактирования. поэтому стандартными средствами - нельзя. правда в том, что мапинфо это поле и сама автоматом заполняет, только не показывает. поле называется rowId и представляет собой скрытую колонку.

Re: Поле ID

Добавлено: 18 апр 2011, 22:31
Olga_@@@
Посмотрите, может такой вариант подойдет:
Таблица > Обновить колонку
внести значения rowID в колонку id

Если после этого продолжить добавление объектов, то автонумерации все равно не получится. Поле id будет заполняться нулями. Но, обновить значения в колонке id это секундное дело. Но, после удаления объектов и упаковки таблицы, при обновлении поля индексы объектов могут измениться
19.04.png
19.04.png (23.24 КБ) 11420 просмотров

Re: Поле ID

Добавлено: 18 апр 2011, 22:43
Catharsis
2 Boris & Olga
Спасибо за советы!

Re: Поле ID

Добавлено: 19 апр 2011, 06:13
SergS
добавлю свои пять копеек:

поле rowid всегда в таблице есть и доступно для использования, т.е. его вроде уже и не надо нигде сохранять. а чтоб было видно его (просто видеть, контролировать.....) можно в окне списка:
правой клавишей мыши -> показывать поля -> в левом списке (поля в таблице) -> Выражение (в самом низу) -> в поле "Введите выражение" ввести rowid -> Ок -> для удобства переместить получившееся rowid в самый верх в начало списка (это в правом списке "колонки списка"). Все вроде. автоматически будет отслеживаться добавление строк.
Возможны весьма забавные эффекты (следствие природы rowid):
имеем таблицу из 100 строк, добавляем 2 строки, получаем rowid: ...100, 101, 102. удаляем 101-ю строку (не сохраняя изменения), имеем ...100,__,102. Теперь сохраняем таблицу: строка с номером 102 меняет rowid на 101. Т.е. ликвидируются все следы несохраненных изменений.

Re: Поле ID

Добавлено: 19 апр 2011, 06:37
Olga_@@@
Да, получилось.
Только надо еще поставить галку - Сохранить как стандартный вид Списка.
Обычное сохранение таблицы не помогает

Re: Поле ID

Добавлено: 19 апр 2011, 07:09
SergS
Olga_@@@ писал(а):Да, получилось.
Только надо еще поставить галку - Сохранить как стандартный вид Списка.
Обычное сохранение таблицы не помогает
ну, у меня такой галки нету - остановился на 8-й версии MI. :)
Olga_@@@ - если не трудно, поместите здесь, или еще как нибудь, чтоб я мог посмотреть, содержимое tab-файла, которое получается в результате "Сохранить как стандартный вид Списка", или, может, это в где-нить в док-е описано?

Re: Поле ID

Добавлено: 19 апр 2011, 07:36
Olga_@@@
Про доки не знаток, я в мапинфо не работаю обычно.
Картинка вот. Пока галку не поставила, изменения по представлению полей таблицы не сохранялись.

Примечание: точка 7 была удалена
19.041.png
19.041.png (36.86 КБ) 11373 просмотра

Re: Поле ID

Добавлено: 19 апр 2011, 09:56
SergS
Olga_@@@ - спасибо

Re: Поле ID

Добавлено: 27 май 2011, 08:02
Catharsis
Скажите, пожалуйста, имеется ли встроенная возможность начать отсчет ID с n-го числа?

Re: Поле ID

Добавлено: 27 май 2011, 10:22
Boris
нет, не имеется.

Re: Поле ID

Добавлено: 27 май 2011, 10:31
Andrew
Только если идти ручным способом, как говорила Olga_@@@.

Re: Поле ID

Добавлено: 27 май 2011, 10:35
Catharsis
А если в поле значение ввести "RowID + n"...
P.S. и можно ли сделать вместо десятичного - шестнадцатеричное исчисление поля?

Re: Поле ID

Добавлено: 27 май 2011, 10:37
Andrew
Catharsis писал(а):А если в поле значение ввести "RowID + n"...
об этом и говорил.

Re: Поле ID

Добавлено: 27 май 2011, 10:40
Catharsis
"RowID + n" вроде получается... спасибо))