Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Витя С.
Зарегистрирован: 17.09.2009 Сообщения: 21
|
Добавлено: Чт Сен 17, 2009 10:10 pm Заголовок сообщения: Отображение данных |
|
|
Здравствуйте. Я пользуюсь MI 9.5 Русская версия и Oracle XE 10.
На растре я отображаю какой-либо объект (через "Создать точечные объекты"). Мне нужно, чтобы при щелчке на этом объекте отображались данные из таблицы. При шелчке на "Информация" отображаются все записи по этому объекту. Мне нужны только некоторые (например, нужно исключить отображение координат). Как это можно сделать? Заранее спасибо. |
|
Вернуться к началу |
|
|
Нестеров Валерий
Зарегистрирован: 21.03.2006 Сообщения: 492
|
Добавлено: Сб Сен 19, 2009 9:34 pm Заголовок сообщения: |
|
|
Отображайте не с помощью "информации", а с помощью кнопки "подпись". Настроить выводимую информацию можно в управлении слоями, встав на нужный слой и нажав кнопку "Подписи", в появившейся форме задать одно, из полей, которое надо вывести, или "выражение" если нужно вывести несколько полей. _________________ Жизнь прекрасна!i |
|
Вернуться к началу |
|
|
Витя С.
Зарегистрирован: 17.09.2009 Сообщения: 21
|
Добавлено: Пн Сен 21, 2009 9:35 pm Заголовок сообщения: ... |
|
|
Я был в этом меню. У меня получилось вывести только одно поле. Наверно, глупый вопрос, но что нужно написать в окне "Выражение", если нужно склеить поля разного типа? |
|
Вернуться к началу |
|
|
.a1ex
Зарегистрирован: 12.03.2009 Сообщения: 14 Откуда: Южно-Сахалинск
|
Добавлено: Вт Сен 22, 2009 8:07 am Заголовок сообщения: |
|
|
между всеми командами и колонками в таблице нужно ставить знак +
команда Chr$(13) - переход на следующую строку |
|
Вернуться к началу |
|
|
Витя С.
Зарегистрирован: 17.09.2009 Сообщения: 21
|
Добавлено: Вт Сен 22, 2009 9:19 pm Заголовок сообщения: ... |
|
|
Спасибо, помогло. Чтобы не создавать новую тему, спрошу здесь еще пару вопросов.
1). Где можно прочитать описание функций (таких, как Chr$) (UG на русском есть, но там не нашел)
2). Есть ли готовые работы в MI, вроде образцы. Например, карта и набор таблиц для визуализации? Чтобы увидеть возможности не в текстовом виде, а наглядно? |
|
Вернуться к началу |
|
|
spawner
Зарегистрирован: 01.04.2009 Сообщения: 77
|
Добавлено: Вт Сен 22, 2009 9:43 pm Заголовок сообщения: Re: ... |
|
|
Витя С. писал(а): |
1). Где можно прочитать описание функций (таких, как Chr$) (UG на русском есть, но там не нашел)
|
Help по MapBasic'у |
|
Вернуться к началу |
|
|
Нестеров Валерий
Зарегистрирован: 21.03.2006 Сообщения: 492
|
Добавлено: Вт Сен 22, 2009 9:47 pm Заголовок сообщения: |
|
|
Каждая кнопка на клавиатуре имеет свой код. Считайте, что функция Chr$ преобразует ваш номер в нажатие соответствующей кнопки клавиатуры. Так команда Chr$(13) выполняет как бы нажатие кнопки "ENTER" и переводит строку.
Пример:
Допустим в колонке col1 у объекта хранится значение "99:01:0000001", а в колонке col2 значение "8384.54". Пишем выражение:
1. col1+col2
получаем подпись:
99:01:00000018384.54
2. col1+" "+col2
получаем подпись:
99:01:0000001 8384.54
3. col1+Chr$(13)+col2
получаем подпись:
99:01:0000001
8384.54
3. col1+Chr$(13)+col2+" кв.м."
получаем подпись:
99:01:0000001
8384.54 кв.м.
Таким образом, можно объединять данные из разных колонок и выводить их рядом, друг под другом, с дополнительным текстом и т.д. _________________ Жизнь прекрасна!i |
|
Вернуться к началу |
|
|
Витя С.
Зарегистрирован: 17.09.2009 Сообщения: 21
|
Добавлено: Чт Сен 24, 2009 9:09 pm Заголовок сообщения: ... |
|
|
Спасибо.
Я сделал запрос к БД, мне вернулась таблица из ~15 тыс записей:
Первые два поля одинаковые, следующие два разные. Координаты там большими группами. Примерно по 3 тыс. записей на каждую точку (т.е. 5 пар координат)
Нужно сделать следующее:
Вывести таблицу из 5 записей (по одной записи на координату), где первые два поля неизменные, вместо поля ZNACH - его среднее значение, DT - в виде "самая ранняя дата - самая поздняя дата" (т.е. уже в текстовом виде, я так понимаю) ну и следующие два поля - координаты. Надеюсь, объянил понятно. Заранее спасибо. |
|
Вернуться к началу |
|
|
spawner
Зарегистрирован: 01.04.2009 Сообщения: 77
|
Добавлено: Пт Сен 25, 2009 10:57 am Заголовок сообщения: |
|
|
Мин-Макс дату в виде текста вроде нельзя запросом сформировать так как нужно. Можно сделать мин и макс даны разными полями.
SQL запрос:
выбрать колонки:S_NAME, PDK, Avg(ZNACH), Min(DT), Max(DT), X_KOORD, Y_KOORD
из таблиц:нужная таблица
группировать по колонкам:X_KOORD,Y_KOORD
Должно работать. Это по экологии какая-то задача? |
|
Вернуться к началу |
|
|
Витя С.
Зарегистрирован: 17.09.2009 Сообщения: 21
|
Добавлено: Пт Сен 25, 2009 8:39 pm Заголовок сообщения: ... |
|
|
Работает, только функция min(DT) и max(DT) возвращают численный тип, а не дату. А нужно дату. |
|
Вернуться к началу |
|
|
Arhara
Зарегистрирован: 18.02.2009 Сообщения: 400 Откуда: Moscow, RF
|
Добавлено: Пт Сен 25, 2009 11:08 pm Заголовок сообщения: |
|
|
Работайте с американским форматом даты YYYYMMDD - он последовательный в отличии от российского, когда представлен и цифрами и текстом, потому позволяет его использовать в выборках.
Если нужна дата, то ее надо будет восстановить из численных значений - там есть такая функция. |
|
Вернуться к началу |
|
|
Витя С.
Зарегистрирован: 17.09.2009 Сообщения: 21
|
Добавлено: Сб Сен 26, 2009 3:07 pm Заголовок сообщения: ... |
|
|
Менять уже поздно.
Вы не могли бы припомнить функцию? |
|
Вернуться к началу |
|
|
Arhara
Зарегистрирован: 18.02.2009 Сообщения: 400 Откуда: Moscow, RF
|
Добавлено: Вт Сен 29, 2009 4:08 pm Заголовок сообщения: Re: ... |
|
|
Витя С. писал(а): |
Менять уже поздно.
Вы не могли бы припомнить функцию? |
StringToDate( ) function
Purpose
Returns a Date value, given a string.
Syntax
StringToDate( datestring )
datestring is a string expression representing a date.
Return Value
Date
/Mapbasic Help/ |
|
Вернуться к началу |
|
|
Витя С.
Зарегистрирован: 17.09.2009 Сообщения: 21
|
Добавлено: Вс Окт 04, 2009 9:13 am Заголовок сообщения: ... |
|
|
Наверно я чего-то не понимаю. Но ведь даже из названия функции видно, что обрабатывает она строку, а не число. К тому же MapInfo в "SQL-запрос" пишет, что ожидалась квадратная скобка вместо круглой или что-то подобное.
Нашел следующее:
select to_char(to_date('29.01.1876','dd.mm.yyyy')+48701, 'dd-mm-yyyyy') from table_name
Это вообще не то, или можно использовать в моем случае? |
|
Вернуться к началу |
|
|
|