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

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

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

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

Как создать таблицу в Dialogbox-e из запроса с реляционной БД

  • Автор темы Sandro
  • Дата начала
S

Sandro

Встала такая задачка, есть документ, инфа из него должна подтягиваться из реаляционной БД, привязка к данным не жёсткая по имени клиента, то есть должна быть возможность выбирать из нескольких значений.
Вообщем есть желание сделать поле и рядом с ним кнопочку, при нажатии кнопочки делается SELECT ... from ... where name like 'значение поля' и строчки выборки открываются в DialogBox-e выбирается нужная строка и данные заполняют поля формы.

Работать через ODAC я научился, получить массив или ODBCResultSet без проблем, а вот как создать аналог DataGrid и запихнуть в DialogBох не пойму, или надо создавать документы , делать из них лотусовое VIEW ???
 
K

Klido

я делаю примерно так: создаю док под диалог, передаю его агенту, который выполняет запрос и заполняет поле-спиок (комбо, диалог-лист...) вариантов выбора, а отдельно - соответствующий список результатов, затем показываю диалог для выбора варианта и заполняю соотвтествующие поля в основном документе....
оперируй массивами (списками) строк-результатов запроса
 
O

Omh

или надо создавать документы , делать из них лотусовое VIEW ???
Похоже на то, можно попробовать обойтись и одним доком и показывать его через pickliststrings + show multiplie as separate values.
Но если надо имеенно аналог таблицы, то надо генерить документ на каждую запись, кмк.
 
S

Sandro

:please: Мда, ладно попробую выкрутиться, спасиб за подсказку

Добавлено: Klido, а почему так сложно? Нельзя , просто сделать заполнение поля с множественным значением при переходе дока в режим редактирования ?
 
K

Klido

Sandro
так и делается, но значения-то надо заполнить? вот они в док и заполняются агентом, а диалог их показывает как надо, но массивов-списков значений столько, сколько полей, а полей может быть много и отображать все смысла не имеет..
например, при поиске клиента достаточно видеть перечень наименований и подсвечивать по нужде код ОКПО какой-нибудь, а остальные ннадцать полей выгребутся из массивов по результату выбора конкретного клиента...
 
S

Sandro

:) Можно тупой вопрос, как заполнить поле со списком , делаю
Код:
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument

Set uidoc = ws.CurrentDocument
Dim doc As NotesDocument	
Set doc=uidoc.Document
doc.Name=data


Call uidoc.Refresh(True)
Когда поле просто список заполняется , а поле со списком ничего нет (((
 
K

Klido

item.appendToTextList используй, а показывать мультивэлью поле - это уже как нравится....
 
S

Sandro

Я уже нервничаю )))

Делаю так, поле с множественным значением заполняется, значением массива через запятую, а поле со списком в простонародье ComboBox пустой :)

Код:
				Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument

Set uidoc = ws.CurrentDocument
Dim doc As NotesDocument	
Set doc=uidoc.Document
Dim item As NotesItem
Set item = doc.GetFirstItem( "Name" )
Call item.AppendToTextList(data)	
Call uidoc.Refresh(True)
Call doc.Save( False, True )
 
H

hosm

Если я правильно поняла Ваш вопрос:
В use formula for Choices - указать мультивалью-поле, содержащее список возможных значений для комбо и установить галку у комбо Refresh Choices on Document Refresh.
 
S

Sandro

Попробовал ничего не получается ((( Поле должно заполняться при нажатии на кнопку, multivalue в ComboBox по умолчанию, обновление стоит ((( На счёт "use formula for Choices - указать мультивалью-поле" не понял это поле и должно же заполняться данными из выборки с реляционной БД
Делаю Allow values not in list (хотя мне это не нужно совсем) - заполняется тока первое значение массива ))) Вообще ничего не понимаю
 
H

hosm

у тебя не заполняется список для выбора из комбобокса или значение комбобокса?
 
H

hosm

пример, если не заполняется список для выбора в комбобокс:
в мультизначное поле Fld1 тип Text (с галкой Allow multiple values) вытягиваем значения: 1, 2, 3, 4, 5 (из выборки) - это вроде у тебя получалось?
у комбо Fld2 на 2-й закладке выбрать "use formula for Choices" Fld1.
при открытии формы в комбо Fld2 будет предоставлен выбор из 1, 2, 3, 4, 5.




Добавлено: только после заполнения/изменения Fld1 надо сделать рефреш документу.
 
S

Sandro

Так работает )))) Ничего не понимаю :RTFM: И как мне это промежуточное поле спрятать ?
 
H

hosm

Помещаешь в отдельный абзац
предпоследняя закладка свойств поля, ставишь галку - hide paragraph from
Notes (можно и от остальных). Поле не отображается на форме при открытии в клиенте Notes.
 
S

Sandro

OKEN спасиб огромное, такая фигня а стока времени убил, а это общепринятый способ , как то хитромудровато это по-моему ? )))
 
H

hosm

ну, можно проще - прямо в комбо написать @-формулу, выгребающую какие-то значения или фиксированный текстовый список значений, но ведь тебя это в данном случае не устроит? ;)
вот проснутся коллеги-форумчане - пусть подтвердят :RTFM:
 
S

Sandro

:RTFM: Если бы не помощь на форуме, я бы в жизнь лотус не освоил, весьма своеобразная штука. Ещё раз спасиб.
 
Мы в соцсетях:

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