Поле ID
- Catharsis
- Активный участник
- Сообщения: 190
- Зарегистрирован: 18 дек 2008, 14:45
- Репутация: 22
- Откуда: Воронеж
- Контактная информация:
Поле ID
Добрый вечер участникам форума! Подскажите пожалуйста как сделать в МИ, чтобы имеющееся поле ID заполнялось автоматически при создании новых объектов по порядку?
cogito ergo sum
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Поле ID
нет ни одного варианта, который бы не требовал программирования, тем более с перехватом конца редактирования. поэтому стандартными средствами - нельзя. правда в том, что мапинфо это поле и сама автоматом заполняет, только не показывает. поле называется rowId и представляет собой скрытую колонку.
- Olga_@@@
- Гуру
- Сообщения: 715
- Зарегистрирован: 24 фев 2009, 15:42
- Репутация: 0
- Ваше звание: городошник
- Откуда: Екатеринбург
- Контактная информация:
Re: Поле ID
Посмотрите, может такой вариант подойдет:
Таблица > Обновить колонку
внести значения rowID в колонку id
Если после этого продолжить добавление объектов, то автонумерации все равно не получится. Поле id будет заполняться нулями. Но, обновить значения в колонке id это секундное дело. Но, после удаления объектов и упаковки таблицы, при обновлении поля индексы объектов могут измениться
Таблица > Обновить колонку
внести значения rowID в колонку id
Если после этого продолжить добавление объектов, то автонумерации все равно не получится. Поле id будет заполняться нулями. Но, обновить значения в колонке id это секундное дело. Но, после удаления объектов и упаковки таблицы, при обновлении поля индексы объектов могут измениться
У меня из Apple дома только компот.
- Catharsis
- Активный участник
- Сообщения: 190
- Зарегистрирован: 18 дек 2008, 14:45
- Репутация: 22
- Откуда: Воронеж
- Контактная информация:
-
- Активный участник
- Сообщения: 120
- Зарегистрирован: 14 апр 2011, 13:24
- Репутация: 5
- Откуда: Екатеринбург
Re: Поле ID
добавлю свои пять копеек:
поле rowid всегда в таблице есть и доступно для использования, т.е. его вроде уже и не надо нигде сохранять. а чтоб было видно его (просто видеть, контролировать.....) можно в окне списка:
правой клавишей мыши -> показывать поля -> в левом списке (поля в таблице) -> Выражение (в самом низу) -> в поле "Введите выражение" ввести rowid -> Ок -> для удобства переместить получившееся rowid в самый верх в начало списка (это в правом списке "колонки списка"). Все вроде. автоматически будет отслеживаться добавление строк.
Возможны весьма забавные эффекты (следствие природы rowid):
имеем таблицу из 100 строк, добавляем 2 строки, получаем rowid: ...100, 101, 102. удаляем 101-ю строку (не сохраняя изменения), имеем ...100,__,102. Теперь сохраняем таблицу: строка с номером 102 меняет rowid на 101. Т.е. ликвидируются все следы несохраненных изменений.
поле rowid всегда в таблице есть и доступно для использования, т.е. его вроде уже и не надо нигде сохранять. а чтоб было видно его (просто видеть, контролировать.....) можно в окне списка:
правой клавишей мыши -> показывать поля -> в левом списке (поля в таблице) -> Выражение (в самом низу) -> в поле "Введите выражение" ввести rowid -> Ок -> для удобства переместить получившееся rowid в самый верх в начало списка (это в правом списке "колонки списка"). Все вроде. автоматически будет отслеживаться добавление строк.
Возможны весьма забавные эффекты (следствие природы rowid):
имеем таблицу из 100 строк, добавляем 2 строки, получаем rowid: ...100, 101, 102. удаляем 101-ю строку (не сохраняя изменения), имеем ...100,__,102. Теперь сохраняем таблицу: строка с номером 102 меняет rowid на 101. Т.е. ликвидируются все следы несохраненных изменений.
- Olga_@@@
- Гуру
- Сообщения: 715
- Зарегистрирован: 24 фев 2009, 15:42
- Репутация: 0
- Ваше звание: городошник
- Откуда: Екатеринбург
- Контактная информация:
Re: Поле ID
Да, получилось.
Только надо еще поставить галку - Сохранить как стандартный вид Списка.
Обычное сохранение таблицы не помогает
Только надо еще поставить галку - Сохранить как стандартный вид Списка.
Обычное сохранение таблицы не помогает
У меня из Apple дома только компот.
-
- Активный участник
- Сообщения: 120
- Зарегистрирован: 14 апр 2011, 13:24
- Репутация: 5
- Откуда: Екатеринбург
Re: Поле ID
ну, у меня такой галки нету - остановился на 8-й версии MI.Olga_@@@ писал(а):Да, получилось.
Только надо еще поставить галку - Сохранить как стандартный вид Списка.
Обычное сохранение таблицы не помогает

Olga_@@@ - если не трудно, поместите здесь, или еще как нибудь, чтоб я мог посмотреть, содержимое tab-файла, которое получается в результате "Сохранить как стандартный вид Списка", или, может, это в где-нить в док-е описано?
- Olga_@@@
- Гуру
- Сообщения: 715
- Зарегистрирован: 24 фев 2009, 15:42
- Репутация: 0
- Ваше звание: городошник
- Откуда: Екатеринбург
- Контактная информация:
Re: Поле ID
Про доки не знаток, я в мапинфо не работаю обычно.
Картинка вот. Пока галку не поставила, изменения по представлению полей таблицы не сохранялись.
Примечание: точка 7 была удалена
Картинка вот. Пока галку не поставила, изменения по представлению полей таблицы не сохранялись.
Примечание: точка 7 была удалена
- Вложения
-
TAB.zip
- (2.12 КБ) 394 скачивания
У меня из Apple дома только компот.
-
- Активный участник
- Сообщения: 120
- Зарегистрирован: 14 апр 2011, 13:24
- Репутация: 5
- Откуда: Екатеринбург
Re: Поле ID
Olga_@@@ - спасибо
- Catharsis
- Активный участник
- Сообщения: 190
- Зарегистрирован: 18 дек 2008, 14:45
- Репутация: 22
- Откуда: Воронеж
- Контактная информация:
Re: Поле ID
Скажите, пожалуйста, имеется ли встроенная возможность начать отсчет ID с n-го числа?
cogito ergo sum
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Поле ID
нет, не имеется.
-
- Активный участник
- Сообщения: 134
- Зарегистрирован: 01 окт 2009, 08:52
- Репутация: 3
- Откуда: Москва
Re: Поле ID
Только если идти ручным способом, как говорила Olga_@@@.
- Catharsis
- Активный участник
- Сообщения: 190
- Зарегистрирован: 18 дек 2008, 14:45
- Репутация: 22
- Откуда: Воронеж
- Контактная информация:
Re: Поле ID
А если в поле значение ввести "RowID + n"...
P.S. и можно ли сделать вместо десятичного - шестнадцатеричное исчисление поля?
P.S. и можно ли сделать вместо десятичного - шестнадцатеричное исчисление поля?
cogito ergo sum
-
- Активный участник
- Сообщения: 134
- Зарегистрирован: 01 окт 2009, 08:52
- Репутация: 3
- Откуда: Москва
Re: Поле ID
об этом и говорил.Catharsis писал(а):А если в поле значение ввести "RowID + n"...
- Catharsis
- Активный участник
- Сообщения: 190
- Зарегистрирован: 18 дек 2008, 14:45
- Репутация: 22
- Откуда: Воронеж
- Контактная информация:
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость