Страница 1 из 1
Добавление полей в Mapinfo
Добавлено: 29 июн 2016, 09:33
Kostilio
Добрый день! Подскажите пожалуйста.
Имеется множество таблиц и нужно добавить к ним несколько колонок с одинаковым именем (тип - символьное, определенное число знаков в каждой). В ручную получается так: таблица - изменить - перестроить - добавить поле. Можно как-то добавить одни и те же поля в несколько таблиц сразу?
Re: Добавление полей в Mapinfo
Добавлено: 29 июн 2016, 09:40
trir
OGR
Re: Добавление полей в Mapinfo
Добавлено: 29 июн 2016, 15:28
Boris
Можно, вопрос в том что вы имеете в виду употребляя "сразу". Указанные действия требуют либо элементарного программирования, либо использования командной строки в цикле. Самый очевидный способ открыть все требуемые таблицы в MapInfo и запустить цикл по ним в бесплатном MapBasic'е. Можно даже программу не создавать не сохранять. Вот таких строк будет достаточно:
Код: Выделить всё
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
Ниже код на MB для MapInfo
Re: Добавление полей в Mapinfo
Добавлено: 29 июн 2016, 16:56
Kostilio
Boris
Спасибо большое, работает. А не подскажете, как изменить код, чтобы добавлялось несколько колонок?
Re: Добавление полей в Mapinfo
Добавлено: 29 июн 2016, 17:59
Boris
В MapInfo есть один маленький секрет, делающий эту программу недостижимо дружелюбной в части автоматизации по сравнению со всеми остальными пакетами:
если открыть окно MapBasic, то 95% команд, которые вы выполните "руками" будут отображены в этом окне в виде команд MapBasic'а. Все что нужно - это скопировать команды в цикл. Я всегда так делаю, и только после того как получу команды захожу в руководство по MB, что бы убедиться, что я верно их интерпретировал.
Единственный минус, который есть у окна MB, это то, что в нем нельзя выполнять циклы и условные операторы.

Re: Добавление полей в Mapinfo
Добавлено: 29 июн 2016, 22:24
Kostilio
Спасибо за совет, буду разбираться, пока мало что понятно к сожалению. А MapBasic отдельно ставить нужно, насколько я понял?
Re: Добавление полей в Mapinfo
Добавлено: 30 июн 2016, 01:16
Boris
Да, вроде нет. С версии 9.хх, по моему, он сам ставится в комплекте. И я говорил не про сам MB- отдельную программу, а про окно MB внутри MapInfo, в которое MapInfo выводит команды, которые выполняет, когда вы тыкаете в кнопки или выбираете команды меню:

- Clipboard013.jpg (29.98 КБ) 4830 просмотров

- Clipboard012.jpg (18.97 КБ) 4830 просмотров