Добавление полей в Mapinfo
-
- Интересующийся
- Сообщения: 20
- Зарегистрирован: 01 июн 2016, 08:45
- Репутация: 0
Добавление полей в Mapinfo
Добрый день! Подскажите пожалуйста.
Имеется множество таблиц и нужно добавить к ним несколько колонок с одинаковым именем (тип - символьное, определенное число знаков в каждой). В ручную получается так: таблица - изменить - перестроить - добавить поле. Можно как-то добавить одни и те же поля в несколько таблиц сразу?
Имеется множество таблиц и нужно добавить к ним несколько колонок с одинаковым именем (тип - символьное, определенное число знаков в каждой). В ручную получается так: таблица - изменить - перестроить - добавить поле. Можно как-то добавить одни и те же поля в несколько таблиц сразу?
-
- Гуру
- Сообщения: 5355
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1021
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Добавление полей в Mapinfo
Можно, вопрос в том что вы имеете в виду употребляя "сразу". Указанные действия требуют либо элементарного программирования, либо использования командной строки в цикле. Самый очевидный способ открыть все требуемые таблицы в MapInfo и запустить цикл по ним в бесплатном MapBasic'е. Можно даже программу не создавать не сохранять. Вот таких строк будет достаточно:
Ниже код на MB для MapInfo
Код: Выделить всё
dim table_id as Integer,Nm as String,N as Integer
N=NumTables( )
for table_id=1 to N
Nm=TableInfo(table_id,TAB_INFO_NAME )
Alter Table Nm ( add newField2 Char(40) )
next
-
- Интересующийся
- Сообщения: 20
- Зарегистрирован: 01 июн 2016, 08:45
- Репутация: 0
Re: Добавление полей в Mapinfo
Boris
Спасибо большое, работает. А не подскажете, как изменить код, чтобы добавлялось несколько колонок?
Спасибо большое, работает. А не подскажете, как изменить код, чтобы добавлялось несколько колонок?
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Добавление полей в Mapinfo
В MapInfo есть один маленький секрет, делающий эту программу недостижимо дружелюбной в части автоматизации по сравнению со всеми остальными пакетами:
если открыть окно MapBasic, то 95% команд, которые вы выполните "руками" будут отображены в этом окне в виде команд MapBasic'а. Все что нужно - это скопировать команды в цикл. Я всегда так делаю, и только после того как получу команды захожу в руководство по MB, что бы убедиться, что я верно их интерпретировал.
Единственный минус, который есть у окна MB, это то, что в нем нельзя выполнять циклы и условные операторы.
если открыть окно MapBasic, то 95% команд, которые вы выполните "руками" будут отображены в этом окне в виде команд MapBasic'а. Все что нужно - это скопировать команды в цикл. Я всегда так делаю, и только после того как получу команды захожу в руководство по MB, что бы убедиться, что я верно их интерпретировал.
Единственный минус, который есть у окна MB, это то, что в нем нельзя выполнять циклы и условные операторы.

-
- Интересующийся
- Сообщения: 20
- Зарегистрирован: 01 июн 2016, 08:45
- Репутация: 0
Re: Добавление полей в Mapinfo
Спасибо за совет, буду разбираться, пока мало что понятно к сожалению. А MapBasic отдельно ставить нужно, насколько я понял?
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Добавление полей в Mapinfo
Да, вроде нет. С версии 9.хх, по моему, он сам ставится в комплекте. И я говорил не про сам MB- отдельную программу, а про окно MB внутри MapInfo, в которое MapInfo выводит команды, которые выполняет, когда вы тыкаете в кнопки или выбираете команды меню:
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 12 гостей