• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Как программно создать View полностью?

  • Автор темы GROMILA
  • Дата начала
G

GROMILA

Привет, дорогие мои коллеги !
Бился, бился, но опять надо спрашивать.

Ситуация:
Нужно динамически создать вид на базе уже созданного
(версия Lotus6)

Вид создаю следующим образом в агенте


Код:
Sub Initialize
Dim s As New NotesSession
Dim viewAll As NotesView
Dim viewTopics As NotesView
Dim col1 As NotesViewColumn

Dim i As Integer
Dim strSELECT As String

'Получаем наш базовый вид
Set viewAll = s.CurrentDatabase.GetView("Сотрудники")

'Создать новый вид пока с той же формулой!
strSELECT=viewAll.SelectionFormula
Messagebox "viewAll.SelectionFormula",, strSELECT

'//... Тут можно изменить формулу выборки!!!!!
'//
Set viewTopics = s.CurrentDatabase.CreateView("По подразделению", strSELECT )

'Скопировать из него все столбцы
i=1
While i<viewAll.ColumnCount 
Set col1 = viewTopics.CopyColumn(viewAll.Columns(i))
i=i+1
Wend

End Sub

Вопрос:
1. Вид создается, но как в него перетянуть ActionBar из моего базового вида????
2. Как сделать так, чтобы я сразу мог пользоваться созданным видом без переоткрытия БД?
 
G

Guest_Mihail

Привет, Вопрос в тему:
получалось у кого-нибудь создать программно представление и вывести в ListBox?
 
V

Vagor.ini

Я в принципе этим сейчас и занимаюсь, все вариации кода, когда заработает, обязательно опубликую...
 
G

Guest_Mihail

<!--QuoteBegin-Vagor.ini+20:04:2004, 21:17 -->
<span class="vbquote">(Vagor.ini @ 20:04:2004, 21:17 )</span><!--QuoteEBegin-->Я в принципе этим сейчас и занимаюсь, все вариации кода, когда заработает, обязательно опубликую...[/quote]
Предыстория для вопроса:
вывести в listbox список документов отобранных из
другой базы по значению поля. Если есть такой способ -
напишите ПЛЗ. У меня работает через раз (в зависимости открыта
удаленная база на клиенте или нет)
 
N

nor

Guest_Mihail, а тебе embedded view не подойдет? можешь скриптом помещать (копировать) выбранные документы в папку, которая отображается в embedded view.
 
G

GROMILA

Ура!!!! Получилось! Ну я и растяпа! Не прочитал HELP
Вот ответ на мой Вопрос #1:

Код:
'Создать новый вид
Set viewTopics = s.CurrentDatabase.CreateView("По подразделению",,,viewAll,True )

Но вот Вопрос#2 отсается открытым!!!!

Как заставить сессию "видеть" новый вид?
 
N

nor

А разве GetView не поможет увидеть новый вид?
 
G

Guest

GetView выдает

Код:
View или Navigator не найден
 
G

Guest_Mihail

<!--QuoteBegin-nor+21:04:2004, 12:28 -->
<span class="vbquote">(nor @ 21:04:2004, 12:28 )</span><!--QuoteEBegin-->Guest_Mihail, а тебе embedded view не подойдет? можешь скриптом помещать (копировать) выбранные документы в папку, которая отображается в embedded view.[/quote]
привет Nor. Использовать embedded view не интрересно - потому как
невозможно работать с выбранным документом не открыв его в workspace. А listbox отдает идентификатор документа , что и требуется. Заставить работать listbox так и не удалось (может только мне? ;) ) - проще выводить dialogbox и затем обрабатывать выбранную строковую константу .
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!