• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Помогите сравнить значения из 2 Combobox

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

Guest

Пробовал, как:
Код:
if OtherDoc.GetFirstItem("NumberOfOper") = cDoc.GetFirstItem("NumberOfOper") then ...
у меня даже не получает выявить пусто ли это значени.:
Код:
Dim item1 As NotesItem
Set item1 = cDoc.GetFirstItem("NumberOfOper")
If ( item1.Values Is Nothing ) Then...
Как правильно работать или точнее сказать через что можно работать с GetFirstItem.
 
Y

Yakov

Код:
If cDoc.GetItemValue("NumberOfOper")(0) = OtherDoc.GetItemValue("NumberOfOper")(0) Then ...
 
K

KLif

Вот так должно работать ....
Код:
Dim com1 as Variant
Dim com2 as Variant

com1 = doc.GetItemValue("Ваш первый комбобокс")
com2 = doc.GetItemValue("Ваш второй комбобокс")

For i = 0 to UBound(com1)
For j = 0 to UBound(com2)
if com1(i) = com2(j) then
Msgbox("Ура найдено")
End If
Next
Next
 
O

Omh

Ещё можно так:
Код:
Dim V1 As Variant
Dim V2 As Variant
V1 = doc.GetItemValue("FLD_NAME_1")
V2 = doc.GetItemValue("FLD_NAME_2")

Const SEP = "~"

If Implode(V1, SEP) = Implode(V2, SEP) Then True Else False
Теортетически, такая фигня и с MV, и с SV полями работать будет.
Но вообще какой-то неприкольный код :wacko:
 
O

Omh

Денис Кириченко
Вообще так можно и даже нужно :wacko:
У тебя опять что-то прогнило :)
 
K

KLif

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

Если первое, то естесно вот это не сработает:
Код:
If cDoc.GetItemValue("NumberOfOper")(0) = OtherDoc.GetItemValue("NumberOfOper")(0) Then
делайте через UIDocument, тогда он вам даст выделенный элемент в списке ...

Если второе, то код который я написал, подходит ...
 
G

Guest

Вот так должно работать ....
Код:
Dim com1 as Variant
Dim com2 as Variant

com1 = doc.GetItemValue("Ваш первый комбобокс")
com2 = doc.GetItemValue("Ваш второй комбобокс")

For i = 0 to UBound(com1)
For j = 0 to UBound(com2)
if com1(i) = com2(j) then
Msgbox("Ура найдено")
End If
Next
Next

Да в том то и дело что мне надо сравнить текущие значения Combobox-а, а не все. А так, как я понимаю сравниваются весь массив значений Combobox-а.

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

Если первое, то естесно вот это не сработает:
Код:
If cDoc.GetItemValue("NumberOfOper")(0) = OtherDoc.GetItemValue("NumberOfOper")(0) Then
делайте через UIDocument, тогда он вам даст выделенный элемент в списке ...

Если второе, то код который я написал, подходит ...

Да, да совершенно верно, sorry у Вас все верно. Я просто не обратил внимание, что Вы используете GetItemValue, мне та нужно GetFirstItem. Попробую через UIDocument.
 
K

KLif

Да в том то и дело что мне надо сравнить текущие значения Combobox-а, а не все. А так, как я понимаю сравниваются весь массив значений Combobox-а.

Dim uidoc as NotesUIDocument
uidoc.FieldGetText("список") - вернет текущее значение списка, на котором стоит курсор ....
 
G

Guest

Dim uidoc as NotesUIDocument
uidoc.FieldGetText("список") - вернет текущее значение списка, на котором стоит курсор ....
С текущем понятно, а вот как быть с тем документом который мне надо взять из View:

Код:
Set OtherDocs = view.GetAllDocumentsByKey(cDoc.GetItemValue("BusinessProcess")(0), True)
Set OtherDoc = OtherDocs.getFirstDocument

Можно ли его через uidoc представить?
 
O

Omh

:wacko:
Какие в баню uidoc'и?
У тебя есть 2 документа полученых пофик как (из UI или из view).
Тебе надо сравнить значения в 2-х полях, так?
Поля как я понял combobox, т.е. single value.
Код:
if doc1.GetItemValue("Combo1")(0) = doc2.GetItemValue("Combo2")(0) then MessageBox("WOW!") else MessageBox("SHIT!")
Не вижу проблемы на 10 постов...
 
K

KLif

:wacko:
Какие в баню uidoc'и?
У тебя есть 2 документа полученых пофик как (из UI или из view).
Тебе надо сравнить значения в 2-х полях, так?
Поля как я понял combobox, т.е. single value.
Код:
if doc1.GetItemValue("Combo1")(0) = doc2.GetItemValue("Combo2")(0) then MessageBox("WOW!") else MessageBox("SHIT!")
Не вижу проблемы на 10 постов...

Дык потому что именно в таком случае могли возникнуть проблемы, когда работаешь в ui - от чего и можно задать такой вопрос, в остальном сравнивается так как вы написали или так как написал человек во втором посте ...
 
G

Guest

Не подскажешь как правильно работать с флажками, а то у меня, что Onblur, что Onchange, работают после того как фокус перешел на другое поле. По событию Entering проверяет до того как отметил галкой. Что за ерунда, почему событие Onchange не отрабатывает нормально.
 
Мы в соцсетях:

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