Сравнить значение поля с ""

Тема в разделе "Lotus - Программирование", создана пользователем -, 5 мар 2008.

  1. Гость

    Как правильно сравнивать значения поля
    Код (Text):
    Dim cDoc As NotesDocument
    Set cDoc = Source.Document

    If (cDoc.Amount <> "0.00") Then
    ...
    End If
    если я пытаюсь напрямую сравнивать, то выводит ошибку - Type mismatch.
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    If (cDoc.Amount(0) <> "0.00") Then

    а Amount - цифровое поле??? если да то сравнивайте cDoc.GetItemValue("Amount")(0) <> "0" then
     
  3. Гость

    А почему, если цифровое, то сравнивать cDoc.GetItemValue("Amount")(0), оно и так - cDoc.Amount(0), сравнивается хорошо :)

    а почему когда поле скрытое cDoc.GetItemValue("Amount")(0) <> "0" и cDoc.Amount(0) <> "0.00" не работают. Пишет мол значение > 0 :(
     
  4. Sandr

    Sandr Гость

    Я вот не пойму.. У Вас эти поля текстовые или числовые?
     
  5. Гость

    Да уж, сравнивать число со строкой - немного странный способ установить истину )
     
  6. Гость

    Sorry, при сравнение числа не надо использовать "" :(
    Буду знать
     
  7. Sandr

    Sandr Гость

    Ну так зачем же вы в кавычки то 0.00 берете если это число?

    Код (Text):
    if cDoc.GetItemValue("Amount")(0) <> "" then
    if cDoc.GetItemValue("Amount")(0) = 0 then
    msgbox "Amount равен нулю"
    end if
    end if
    Сначала проверяйте на пустоту, птому как пустое числовое поле является текстовым, а если не пусто, тогда уже сравнивайте с числом...
     
  8. Гость

    Как добиться что бы по условию в Queryclose не сохранялись изменения?
    Я в Queryclose поставил:
    Код (Text):
    Doc.saveOptions = "0"
    Call Doc .Save (False, False,True)
    но не че не помогает, всеравно сохраняет изменения.
     
  9. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Сохранять в QueryClose очень плохая идея.
    Doc.saveOptions = "0" только для UI сохранения.
    Добавь условие перед Call Doc .Save (False, False,True).
     
  10. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Денис Кириченко
    использовать условие QuerySave
     
  11. Гость

    Thanks, а еще как можно в Queryclose проверить нажали Ecp или нет?
     
  12. Sandr

    Sandr Гость

    Денис Кириченко
    А зачем?
    Вы можете на кнопку "Закрыть" писать какой-то флаг. Тоесть когда пользователь esc флага не будет, на квериклоузе проверяйте флаг и будете знать ка пользователь закрывает документ...
     
  13. Гость

    Sandr, что Вы имеете ввиду сделать кнопку Закрыть и если пользователь не через нее вышел то значит через Esc
     
  14. Sandr

    Sandr Гость

    Денис Кириченко
    На кнопке "Закрыть" (или как она там у Вас называется) в какое-нить поле пишите значение "1".
    На квериклоузе сравнивайте значение этого поля с "1", если равно "1", значит пользователь нажал на кнопку, если нет - значит вышел через Esc.

    Только поле не храните в дкоументе, пусть оно будет CFD.
     
  15. Гость

    А как насчет крестика вверху через который тоже можно выйти?
     
  16. Sandr

    Sandr Гость

    Денис Кириченко

    крести делает то же самое что и Esc.
    Зачем Вам все это? Я так понимаю, что если человек спрашивает такое, то ему нужно, что бы пользователь выходит только по нажатию кнопки "Выход", не используя альтернативные способы закрытия документа...
     
  17. Гость

    Точно что-то не соображаю, спасибо за разъяснение :)
     
Загрузка...

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