Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Гикор
Зарегистрирован: 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. |
|
Вернуться к началу |
|
|
Гикор
Зарегистрирован: 06.11.2009 Сообщения: 34
|
Добавлено: Вт Дек 08, 2009 4:05 pm Заголовок сообщения: |
|
|
Спасибо большое получилось. Только вместо наименования подставляются цифры. Это происходит в полях куда значения вносятся из PopupMenu Где это решать в описания Popupmenu или в ListBox?? Или еще где-то??
Спасибо |
|
Вернуться к началу |
|
|
Андрей Могильный
Зарегистрирован: 21.03.2006 Сообщения: 864
|
Добавлено: Вт Дек 08, 2009 4:13 pm Заголовок сообщения: |
|
|
Не понял причем тут Popupmenu... Код что-ли покажите. |
|
Вернуться к началу |
|
|
Гикор
Зарегистрирован: 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) |
|
Вернуться к началу |
|
|
Гикор
Зарегистрирован: 06.11.2009 Сообщения: 34
|
Добавлено: Чт Дек 10, 2009 2:31 pm Заголовок сообщения: |
|
|
Спасибо.
2.)С датами получилось.))
1). У меня не ссылки на справочники. Список значений popupmenu описывается в самом описании элемента диалога Title "Коммутатор;Модем...."... И при выборе какого-либо значения в таблицу попадает не слово коммутатор а цифра 1. В диалоге отображается все как надо (Слово коммутатор). А вот в выборку по этой таблице попадают цифры., естественно и Listbox попадают цифры.
Наверняка это можно исправить. |
|
Вернуться к началу |
|
|
Гикор
Зарегистрирован: 06.11.2009 Сообщения: 34
|
Добавлено: Чт Дек 10, 2009 4:58 pm Заголовок сообщения: |
|
|
Спасибо все получилось)))))))))Ураа : |
|
Вернуться к началу |
|
|
|