Проверить, что в поле лежит много значений

Тема в разделе "Lotus - FAQ", создана пользователем Dragon108, 7 дек 2010.

  1. Dragon108

    Dragon108 Well-Known Member

    Регистрация:
    19 янв 2010
    Сообщения:
    264
    Симпатии:
    0
    Как проверить, что в документе в поле лежит больше одного значения?
     
  2. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    @Elements
     
  3. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    Код (Text):
    Dim x as variant
    Dim doc as NotesDocument
    ' ....
    x=doc.GetItemvalue("Field")
    if Ubound(x) > LBound(x) then
    ' больше одного
    end if
     
  4. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    OKEN
    А бывает такое, что LBound(doc.GetItemvalue("Field")) <> 0? Я что-то не встречал. Всегда проверяю только верхнюю границу.
     
  5. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    option base 1?

    Добавлено: не факт, но такую конструкцию приходилось давно как-то встречать =)
     
  6. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    А разве это на doc.GetItemvalue("Field") действует? КМК, только на массивы. Надо будет на досуге проверить...
     
  7. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    не помню, честно. Но на массивы без явного указания нижней границы действует =)
     
  8. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Код (LotusScript):
    Option Declare
    Option Base 1

    Sub Initialize
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim doc As NotesDocument
    Dim var1 As Variant
    Redim var2(2) As String
    Set db = session.CurrentDatabase
    Set doc = db.CreateDocument
    doc.Field = Split("a:b:c", ":")
    var1 = doc.Field
    Msgbox "Lbound(var1) = " & Cstr(Lbound(var1)) & " Ubound(var1) = " & Cstr(Ubound(var1)) & {
    } & "Lbound(var2) = " & Cstr(Lbound(var2)) & " Ubound(var2) = " & Cstr(Ubound(var2))
    End Sub
    Результат выполнения:
    Lbound(var1) = 0 Ubound(var1) = 2
    Lbound(var2) = 1 Ubound(var2) = 2
     
  9. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    значит, это у меня перестраховка была =) спасиб, буду знать =)
     
Загрузка...

Поделиться этой страницей