Добавление полей в Mapinfo

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
Kostilio
Интересующийся
Сообщения: 20
Зарегистрирован: 01 июн 2016, 08:45
Репутация: 0

Добавление полей в Mapinfo

Сообщение Kostilio » 29 июн 2016, 09:33

Добрый день! Подскажите пожалуйста.
Имеется множество таблиц и нужно добавить к ним несколько колонок с одинаковым именем (тип - символьное, определенное число знаков в каждой). В ручную получается так: таблица - изменить - перестроить - добавить поле. Можно как-то добавить одни и те же поля в несколько таблиц сразу?

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Добавление полей в Mapinfo

Сообщение trir » 29 июн 2016, 09:40

OGR

Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Добавление полей в Mapinfo

Сообщение Boris » 29 июн 2016, 15:28

Можно, вопрос в том что вы имеете в виду употребляя "сразу". Указанные действия требуют либо элементарного программирования, либо использования командной строки в цикле. Самый очевидный способ открыть все требуемые таблицы в 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
addFlds.7z
(732 байт) 222 скачивания

Kostilio
Интересующийся
Сообщения: 20
Зарегистрирован: 01 июн 2016, 08:45
Репутация: 0

Re: Добавление полей в Mapinfo

Сообщение Kostilio » 29 июн 2016, 16:56

Boris
Спасибо большое, работает. А не подскажете, как изменить код, чтобы добавлялось несколько колонок?

Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Добавление полей в Mapinfo

Сообщение Boris » 29 июн 2016, 17:59

В MapInfo есть один маленький секрет, делающий эту программу недостижимо дружелюбной в части автоматизации по сравнению со всеми остальными пакетами:
если открыть окно MapBasic, то 95% команд, которые вы выполните "руками" будут отображены в этом окне в виде команд MapBasic'а. Все что нужно - это скопировать команды в цикл. Я всегда так делаю, и только после того как получу команды захожу в руководство по MB, что бы убедиться, что я верно их интерпретировал.
Единственный минус, который есть у окна MB, это то, что в нем нельзя выполнять циклы и условные операторы. :cry:

Kostilio
Интересующийся
Сообщения: 20
Зарегистрирован: 01 июн 2016, 08:45
Репутация: 0

Re: Добавление полей в Mapinfo

Сообщение Kostilio » 29 июн 2016, 22:24

Спасибо за совет, буду разбираться, пока мало что понятно к сожалению. А MapBasic отдельно ставить нужно, насколько я понял?

Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Добавление полей в Mapinfo

Сообщение Boris » 30 июн 2016, 01:16

Да, вроде нет. С версии 9.хх, по моему, он сам ставится в комплекте. И я говорил не про сам MB- отдельную программу, а про окно MB внутри MapInfo, в которое MapInfo выводит команды, которые выполняет, когда вы тыкаете в кнопки или выбираете команды меню:
Clipboard013.jpg
Clipboard013.jpg (29.98 КБ) 4833 просмотра
Clipboard012.jpg
Clipboard012.jpg (18.97 КБ) 4833 просмотра

Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 12 гостей