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

Сохранение рабочих наборов, если сделаны выборки (Select)

Добавлено: Пн авг 31, 2009 4:23 pm
lexaa
Столкнулся с тем что после создания выборок из таблиц (Select) и последующем выполнении команды "Save workspace as" из приложения появляется ошибка и рабочий набор не сохраняется...

)) Сам спросил,сам ответил.

Рабочий набор в таком случае можно сохранить через

Run command "Save workspace " + 'имя рабочего набора'

Re: Сохранение рабочих наборов, если сделаны выборки (Select)

Добавлено: Пн авг 31, 2009 4:29 pm
grig
Спасибо за находку! А во всех версиях такое происходит?

Re: Сохранение рабочих наборов, если сделаны выборки (Select)

Добавлено: Пн авг 31, 2009 4:34 pm
les
Вот спасибо, ребята! Столько лет мучился. Уже и dll'ку написал, а тут такое простое решение нашел :)

Re: Сохранение рабочих наборов, если сделаны выборки (Select)

Добавлено: Вт сен 01, 2009 3:07 pm
lexaa
grig писал(а):Спасибо за находку! А во всех версиях такое происходит?


Приложение писалось в MapBasic 7.0, выполнять пробовал в Mapinfo 7.8.
В остальных версиях как работает не знаю...

Re: Сохранение рабочих наборов, если сделаны выборки (Select)

Добавлено: Вт сен 01, 2009 3:23 pm
les
lexaa писал(а):Приложение писалось в MapBasic 7.0, выполнять пробовал в Mapinfo 7.8.
В остальных версиях как работает не знаю...

Проверьте, пожалуйста, в версиях 8.5, 9.0 и 9.5. Очень надо!

Re: Сохранение рабочих наборов, если сделаны выборки (Select)

Добавлено: Ср сен 02, 2009 9:39 am
lexaa
lesdm писал(а):Проверьте, пожалуйста, в версиях 8.5, 9.0 и 9.5. Очень надо!


У меня к сожалению нет Мапинфо версий старше чем 8.0.

Re: Сохранение рабочих наборов, если сделаны выборки (Select)

Добавлено: Ср сен 02, 2009 1:57 pm
reasonat
в 9 версии точно так же приходится делать. и в ранних было так же, я давно в форумах увидела такой способ вызова команд мапинфо и пользуюсь регулярно. это от версии видимо не зависит.
я применяю такой оборот ( run command "текст команды" ) в случаях, когда мапинфо команду понимает, а мапбейсик обрабатывает некорректно, видимо в связи с непониманием мапбейсиком переменной в качестве строки условия.
например, ConditionString( sel_obj ) - функция, собирающая строку условия для выборки. Тогда:

Код: Выделить всё

Select * From t_name Where ID = Any( ConditionString( sel_obj ) ) Into Sel

не работает, а работает так:

Код: Выделить всё

run command "Select * From " + t_name + " Where ID = Any( " + ConditionString( sel_obj ) + " ) Into Sel"


если вместо переменной ConditionString явно подставлять строку в предложение Select, то все работает. если подставлять переменную в "окне мапбейсик" в самой мапинфо, тоже работает, не работает только переменная в программе мапбейсик.

Re: Сохранение рабочих наборов, если сделаны выборки (Select)

Добавлено: Ср сен 02, 2009 2:33 pm
les
reasonat писал(а):в 9 версии точно так же приходится делать. и в ранних было так же

Спасибо за развернутый ответ! Хотя я ждал, что ответит Lexaa, но от спасовал :geek: