Проблема с полем типа Date/time

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

  1. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    В поисковике есть поле типа Date/Time
    Если я ввожу туда вместо даты - буквы, то у меня просто буквы удаляются и поле пусто. И поисковик работает нормально
    Также еще у нескольких людей.
    Но у нескольких пользователей буквы не удаляются и возникает ошибка при поиске , что неправильный тип даты
    в чем тут проблемы?
    как эти проблемы можно решить?
    или как в коде можно проверить дата ли это, наиболее лучшим и коротким способом?
    вот код получения даты из полей

    Код (Text):
             Dim vFromDate  As Variant
    Dim vToDate  As Variant

    ' получение значений полей   
    vFromDate = DocCurrent.GetItemValue( "FromDate" )(0)
    vToDate = DocCurrent.GetItemValue( "ToDate" )(0)
     
  2. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    IsDate

    Examples: IsDate function

    Код (Text):
    Dim x As Variant, y As Variant, z As Variant
    x = 100                       ' Numeric value
    y = CDat(100)                    ' Numeric date value
    z = "Nov 2, 1983"                ' String representing a date
    Print IsDate(x)               ' Output: False
    Print IsDate(y)               ' Output: True
    Print IsDate(z)               ' Output: True
    Print IsDate("100")           ' Output: False
    Print IsDate("Nov 2, 1983")   ' Output: True
     
  3. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    Для: Morpheus
    хе, спасибо, сам нашел после того как уже создал тему...
    Все равно спасибо за ответ +1

    А все равно, если не кодом
    Почему у меня буквы удаляются автоматически, а у другого нет?
    Из-за настроек виндовса, лотуса или чего ?
     
  4. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--QuoteBegin-wowa+18:01:2008, 14:19 -->
    <span class="vbquote">(wowa @ 18:01:2008, 14:19 )</span><!--QuoteEBegin-->Почему у меня буквы удаляются автоматически, а у другого нет?
    [snapback]94095" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Вазможно из-за настрое винды... не в курсе
     
  5. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    КАк мне отследить эту ошибку,... что-то я запарился
    вот мой код
    Код (Text):
    Dim vFromDate       As Variant      ' Дата, с которой идет поиск
    Dim vToDate         As Variant      ' Дата, по которую идет поиск

    ' получение значений полей   
    vFromDate = DocCurrent.GetItemValue( "FromDate" )(0)
    vToDate = DocCurrent.GetItemValue( "ToDate" )(0)

    ' проверка, правильно ли введен формат даты поиска
    If Not ( Isdate( vFromDate ) Or vFromDate= "" ) Or Not ( Isdate( vToDate ) Or vToDate = "" ) Then
    stErrMsg = "Неправильный формат введенной даты" 
    Exit Function  
    End If
    Дело в том, что если неправильно введен формат
    то ошибка выскакивает в
    vFromDate = DocCurrent.GetItemValue( "FromDate" )(0)

    Подскажите как быть?
     
  6. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--QuoteBegin-wowa+18:01:2008, 15:07 -->
    <span class="vbquote">(wowa @ 18:01:2008, 15:07 )</span><!--QuoteEBegin-->If Not ( Isdate( vFromDate ) Or vFromDate= "" )
    [snapback]94116" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Это не правильно

    сначала проверте на то что не пусто, и только потом на то что это дата
    Код (Text):
     if Len( vFromDate ) = 0 or Len( vToDate ) = 0 then Exit Function  
    if Not Isdate( vFromDate ) or Not Isdate( vToDate ) then Exit Function
     
  7. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    дак оно не доходит до этой проверки, ошибка выскакивает здесь :
    Код (Text):
    vFromDate = DocCurrent.GetItemValue( "FromDate" )(0)
     
  8. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: wowa
    Проверте в дебагере чему равно DocCurrent
    какую ощибку выдаёт?

    и всё раво одновременно проверять на пусто и на дату НЕЛЬЗЯ
     
  9. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    Когда введена дата, оно все работает
    Стоит ввести буквы, как в этой строке выскакивает ошибка

    вообщем когда буквы, то Values нет,
     
  10. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: wowa
    В самом поле может быть ошибка. Проверить значение поля. Там может быть написано что-то типа "Unable to interpret Time or Date".
    Тогда надо исправить поле или проверить. Например так:
    Код (Text):
    If IsEmpty(DocCurrent.GetItemValue( "FromDate" )) then MsgBox("Ошибка") else vFromDate = DocCurrent.GetItemValue( "FromDate" )(0)
     
  11. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--QuoteBegin-wowa+18:01:2008, 15:21 -->
    <span class="vbquote">(wowa @ 18:01:2008, 15:21 )</span><!--QuoteEBegin-->Стоит ввести буквы, как в этой строке выскакивает ошибка
    [snapback]94120" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Да есть такое ))) всё правильно

    Для: Medevic
    Не правда, тут дубет ошибка, так как лотус ПЫТАЕТЬСЯ взять у итема текстовое зачение

    проверить можно так
    Код (Text):
    If Isempty( doc.FromDate ) Then MsgBox "Ошибка"
     
  12. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--QuoteBegin-Morpheus+18:01:2008, 16:31 -->
    <span class="vbquote">(Morpheus @ 18:01:2008, 16:31 )</span><!--QuoteEBegin-->Не правда, тут дубет ошибка, так как лотус ПЫТАЕТЬСЯ взять у итема текстовое зачение
    [snapback]94123" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Это почему он пытается взять текстовое значение?

    ЗЫ метод проверен и работает.
     
  13. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    Для: Medevic
    Спасибо!
    Вот так оно сработало :
    Код (Text):
    If Isempty( doc.FromDate ) Then MsgBox "Ошибка"
    +1
     
Загрузка...
Похожие Темы - Проблема полем типа
  1. Erlan
    Ответов:
    1
    Просмотров:
    747
  2. Amfion
    Ответов:
    0
    Просмотров:
    445
  3. Rosna
    Ответов:
    6
    Просмотров:
    2.072
  4. AgniXRudra
    Ответов:
    0
    Просмотров:
    0
  5. Zloikaktus
    Ответов:
    0
    Просмотров:
    12

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