Страница 1 из 1
ошибка AlmDbWiew
Добавлено:
Сб авг 27, 2011 2:03 am
werg
когда Вьювер открывается - сохраненные сообщения из базы индицируются
но он ругается 2 раза - month, day or year cannot be Nulls
в скрипте окна он шоу следующий код
StartAlarm=StringFromTime(86400 *$DateTime,1) +" "+StringFromIntg( ($Hour - 1),10 ) + ":" + StringFromIntg( $Minute,10 ) ;
EndAlarm=StringFromTime(86400 *$DateTime,1) +" "+StringFromIntg( $Hour,10 ) + ":" + StringFromIntg( $Minute,10 ) ;
#AlmDbViewCtrl3.StartTime=StartAlarm;
#AlmDbViewCtrl3.EndTime=EndAlarm;
#AlmDbViewCtrl3.Refresh()
нажимаю кнопку со скриптом показать за посл 24 часа
StartAlarm=StringFromTime(86400 *($DateTime - 1),1) +" "+StringFromIntg( $Hour,10 ) + ":" + StringFromIntg( $Minute,10 ) ;
EndAlarm=StringFromTime(86400 *$DateTime,1) +" "+StringFromIntg( $Hour,10 ) + ":" + StringFromIntg( $Minute,10 ) ;
#AlmDbViewCtrl3.StartTime=StartAlarm;
#AlmDbViewCtrl3.EndTime=EndAlarm;
#AlmDbViewCtrl3.Refresh();
тоже ругается 2 раза
я понимаю что где то со временем нестыковка
только не могу понять чего может не хватать
подскажите на что обратить внимание
Re: ошибка AlmDbWiew
Добавлено:
Пн авг 29, 2011 1:30 pm
Генератор зла
Выводите значения StartAlarm, EndAlarm на экран и ищите ошибку.
Re: ошибка AlmDbWiew
Добавлено:
Пн авг 29, 2011 5:05 pm
werg
start alarm and alarm у меня и так на экран выводятся
у меня 2 кнопки
начало
#AlmDbViewCtrl3.StartTime=StartAlarm;
#AlmDbViewCtrl3.Refresh();
и конец
#AlmDbViewCtrl3.EndTime=EndAlarm;
#AlmDbViewCtrl3.Refresh();
интервала запроса из базы
и 2 text box соответсвенно
с тегом StartAlarm и второй EndAlarm
выводятся все в таком формате 29.08.2011 12:55
что же может быть такое????
Re: ошибка AlmDbWiew
Добавлено:
Пн авг 29, 2011 5:57 pm
Генератор зла
Попробуйте установить Start... и End... на 11 августа 2011. Если ошибок не будет, то запрос первую цифру воспринимает как месяц
Re: ошибка AlmDbWiew
Добавлено:
Пн авг 29, 2011 6:18 pm
werg
та же проблема...
может это с SQL временем надо поковыряться?
я не до конца понимаю как работает запрос
и на каком этапе возникает ошибка
а какого типа должны быть теги ??
у меня StartTime - i/o message
StartAlarm - memory message
EndTime - memory discrete
EndAlarm - memory message
Re: ошибка AlmDbWiew
Добавлено:
Пн авг 29, 2011 7:04 pm
Генератор зла
StartTime Property
Returns or sets the start time.
Type
Message
Syntax
Object.StartTime [= text]
Value
text
A string expression that evaluates to the Start Time. The string returned is always in the format (MM/DD/YYYY HH:MM:SS). The same format is also required to set the value of the string. This property handles date in any time zone from midnight, January 1, 1970, to January 18, 19:14:07, 2038
Попробуйте использовать StartAlarm=StringFromTime(86400 *$DateTime,3) +...
Re: ошибка AlmDbWiew
Добавлено:
Пн авг 29, 2011 8:34 pm
werg
это меняет лишь формат представления времени и только
проблема не уходит
может кто нибудь пример скрипта с формированием тегов времени скинет
и пример скрипта запроса интервала записи в дб мsSQL
заведомо работающего...
Re: ошибка AlmDbWiew
Добавлено:
Вт авг 30, 2011 6:48 am
Spaun
Первая цифра - это месяц.
Тип #AlmDbViewCtrl1.StartTime (и EndTime соответственно) - message.
Формат задаётся в вкладке Time/Sort #AlmDbViewCtrl1 :
У меня например такой: 07/30/2011 23:59:59 (в вкладке Time/Sort #AlmDbViewCtrl1: %d.%m.%Y %H:%M:%s %p).
зы: У Вас в формате системы стоит разделитель точка, а для запроса нужен слеш. StringReplace вам поможет=).
Re: ошибка AlmDbWiew
Добавлено:
Пт сен 02, 2011 12:57 pm
werg
Благодарю!
вбиваю в строку запроса не 09.02.2011 00:00 а 09/02/2011 00:00 и нет ошибки
1)Только как StringReplace тут применить чтоб разделители слэши поменялись на точки
непойму
StartAlarm=StringFromTime(86400 *$DateTime,1) +" "+StringFromIntg( ($Hour - 1),10 ) + ":" + StringFromIntg( $Minute,10 ) ;
EndAlarm=StringFromTime(86400 *$DateTime,1) +" "+StringFromIntg( $Hour,10 ) + ":" + StringFromIntg( $Minute,10 ) ;
#AlmDbViewCtrl3.StartTime=StartAlarm;
#AlmDbViewCtrl3.EndTime=EndAlarm;
#AlmDbViewCtrl3.Refresh();
2) Уменя( месяц день год ) надо вбивать А хочется( день месяц год)
я так понимаю это структура тега $DateTime такая со слэшами и с месяцем впереди
в запросе вьювера стоит %d.%m.%Y %H:%M:%s %p
Re: ошибка AlmDbWiew
Добавлено:
Пт сен 02, 2011 2:23 pm
Spaun
Менять нужно точки на слеши, а не наоборот.
StringFromTime(...,1) "выводит дату в формате, заданном в панели управления Windows"(у Вас с точками).
Можно поменять формат в региональных настройках Windows, а можно заменить "." на "/" и поменять местами месяц и день.
Сделайте как Генератор писал:
выведите на экран StringFromTime(86400 *$DateTime,1), StartAlarm, EndAlarm и смотрите что не так.
должно быть: месяц/день/год HH:mm