www.map-info.ru :: Просмотр темы - Диалог....
                               РќР° главную страницу сайта

 
                                
ВходВход    РегистрацияРегистрация    ПрофильПрофиль    ПользователиПользователи    ГруппыГруппы    FAQFAQ    ПоискПоиск  

 
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Предыдущая тема :: Следующая тема  
Автор Сообщение
Гикор



Зарегистрирован: 06.11.2009
Сообщения: 34

СообщениеДобавлено: Вс Дек 06, 2009 2:39 am    Заголовок сообщения: Диалог.... Добавить ответ со ссылкой на данный текст

Добрый вечер,

прошу помочь решить одну задачу (если конечно она решаема):
Выполняется выборка из таблицы ОБОРУДОВАНИЕ. Выбирается оборудование, размещенное на определенном узле (оборудование, где номер узла = Selection.УЗЛЫ). Результат может быть разным: от 1 записи и .... далее. Естественно оборудование может демонтироваться и наоборот добавляться новое. Могу ли я результат выборки - СПИСОК, поместить в окно диалога.?А то не очень хочется смотреть на окно СПИСКА. Если бы результат был из одной записи то конечно я создал бы диалог, но т.к. результат зачастую переваливает за 10 и к тому же может меняться то.... прошу помощи

НАДЕЮСЬ ВЫ МЕНЯ ПОНЯЛИ

Спасибо
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Андрей Могильный



Зарегистрирован: 21.03.2006
Сообщения: 864

СообщениеДобавлено: Пн Дек 07, 2009 6:55 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Да. Воспользуйтесь элементом ListBox в диалоге. Вам нужно алгоритмически обойти выборку по вашим объектам, составить строку например "оборудование1;оборудование2" и подать ее как параметр Value элемента ListBox.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Гикор



Зарегистрирован: 06.11.2009
Сообщения: 34

СообщениеДобавлено: Вт Дек 08, 2009 4:05 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Спасибо большое получилось. Только вместо наименования подставляются цифры. Это происходит в полях куда значения вносятся из PopupMenu Где это решать в описания Popupmenu или в ListBox?? Или еще где-то??

Спасибо
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Андрей Могильный



Зарегистрирован: 21.03.2006
Сообщения: 864

СообщениеДобавлено: Вт Дек 08, 2009 4:13 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Не понял причем тут Popupmenu... Код что-ли покажите.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Гикор



Зарегистрирован: 06.11.2009
Сообщения: 34

СообщениеДобавлено: Вт Дек 08, 2009 4:29 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Sub Owners
Dim LayersStr,I As String

I=Selection.УЗЕЛ
Select * from Owners
where CAD_NUM_OBJ = I
into OWNERS_Sel
Fetch First From OWNERS_Sel
do While Not EOT(OWNERS_Sel)
LayersStr = LayersStr + " ;" + OWNERS_Sel.CAD_NUM_OBJ+ " --- "+ OWNERS_Sel.OWNER+" " + " --> "+ OWNERS_Sel.VID_OBORUD+ " - "+ OWNERS_Sel.DOLYA+ " - "+ OWNERS_Sel.DOKUMENT+ " - "+ OWNERS_Sel.DATA_DOK+ " - "+ OWNERS_Sel.O_PRIM
Fetch next From OWNERS_Sel
loop

Dialog
Title "Оборудование"
Control Listbox
Title LayersStr
Height 300 Width 400
Control CancelButton
Title "Выйти"
End Sub

DOKUMENT
VID_OBORUD данные этих двух полей в таблицу OWNER занятся с помощью PopupMenu.
И при выборке в таблицу OWNERS_Sel попадают порядковые номера значений PopupMenu. Естественно и в данный листбокс попадают цифры.
А значения Дат выглядят 12122009.
Это конечно не критично, но можно ли эти две проблемы как то решить???

Спасибо
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Андрей Могильный



Зарегистрирован: 21.03.2006
Сообщения: 864

СообщениеДобавлено: Чт Дек 10, 2009 8:55 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

1. Т.е. у вас в полях DOKUMENT и VID_OBORUD числа, ссылки на некие справочники, и выводить нужно не числа, а именно тексты из справочников? Если справочники тоже в таблицах MapInfo, то надо правильно написать исходный запрос - сделать соединения со всеми справочниками.
Не просто так:
Select * from Owners
where CAD_NUM_OBJ = I
into OWNERS_Sel

а как бы так:
Select * from Owners, sprav1, sprav2
where owners.CAD_NUM_OBJ = I and sprav1.dokument=owners.dokument ...
into OWNERS_Sel

2) Чтобы даты вывести в формате локали, обрамите ее значение фукнцией Str$():
Str$(OWNERS_Sel.DATA_DOK)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Гикор



Зарегистрирован: 06.11.2009
Сообщения: 34

СообщениеДобавлено: Чт Дек 10, 2009 2:31 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Спасибо.
2.)С датами получилось.))

1). У меня не ссылки на справочники. Список значений popupmenu описывается в самом описании элемента диалога Title "Коммутатор;Модем...."... И при выборе какого-либо значения в таблицу попадает не слово коммутатор а цифра 1. В диалоге отображается все как надо (Слово коммутатор). А вот в выборку по этой таблице попадают цифры., естественно и Listbox попадают цифры.

Наверняка это можно исправить.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Гикор



Зарегистрирован: 06.11.2009
Сообщения: 34

СообщениеДобавлено: Чт Дек 10, 2009 4:58 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Спасибо все получилось)))))))))Ураа : Very Happy Very Happy Very Happy Very Happy Very Happy
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Top.Mail.Ru