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

wowa

Well-Known Member
01.02.2007
845
0
#1
В поисковике есть поле типа Date/Time
Если я ввожу туда вместо даты - буквы, то у меня просто буквы удаляются и поле пусто. И поисковик работает нормально
Также еще у нескольких людей.
Но у нескольких пользователей буквы не удаляются и возникает ошибка при поиске , что неправильный тип даты
в чем тут проблемы?
как эти проблемы можно решить?
или как в коде можно проверить дата ли это, наиболее лучшим и коротким способом?
вот код получения даты из полей

Код:
		 Dim vFromDate	As Variant
Dim vToDate	 As Variant	

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

morpheus

скриптописец
07.08.2006
3 915
1
34
Украина, Киев
#2
IsDate

Examples: IsDate function

Код:
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
 

wowa

Well-Known Member
01.02.2007
845
0
#3
Для: Morpheus
хе, спасибо, сам нашел после того как уже создал тему...
Все равно спасибо за ответ +1

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

morpheus

скриптописец
07.08.2006
3 915
1
34
Украина, Киев
#4
<!--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]
Вазможно из-за настрое винды... не в курсе
 

wowa

Well-Known Member
01.02.2007
845
0
#5
КАк мне отследить эту ошибку,... что-то я запарился
вот мой код
Код:
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)

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

morpheus

скриптописец
07.08.2006
3 915
1
34
Украина, Киев
#6
<!--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]
Это не правильно

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

wowa

Well-Known Member
01.02.2007
845
0
#7
дак оно не доходит до этой проверки, ошибка выскакивает здесь :
Код:
vFromDate = DocCurrent.GetItemValue( "FromDate" )(0)
 

morpheus

скриптописец
07.08.2006
3 915
1
34
Украина, Киев
#8
Для: wowa
Проверте в дебагере чему равно DocCurrent
какую ощибку выдаёт?

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

wowa

Well-Known Member
01.02.2007
845
0
#9
Когда введена дата, оно все работает
Стоит ввести буквы, как в этой строке выскакивает ошибка

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

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
36
Россия, Калуга
#10
Для: wowa
В самом поле может быть ошибка. Проверить значение поля. Там может быть написано что-то типа "Unable to interpret Time or Date".
Тогда надо исправить поле или проверить. Например так:
Код:
If IsEmpty(DocCurrent.GetItemValue( "FromDate" )) then MsgBox("Ошибка") else vFromDate = DocCurrent.GetItemValue( "FromDate" )(0)
 

morpheus

скриптописец
07.08.2006
3 915
1
34
Украина, Киев
#11
<!--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
Не правда, тут дубет ошибка, так как лотус ПЫТАЕТЬСЯ взять у итема текстовое зачение

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

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
36
Россия, Калуга
#12
<!--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]
Это почему он пытается взять текстовое значение?

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

wowa

Well-Known Member
01.02.2007
845
0
#13
Для: Medevic
Спасибо!
Вот так оно сработало :
Код:
If Isempty( doc.FromDate ) Then MsgBox "Ошибка"
+1