This is topic Date_and_Time в Access in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
При передаче значения времени в Access происходит потеря части значений. В причине разобрался, но устранить не получается: если секунды, переведённые в HEX заканчиваются не цифрой, то данные игнорируются. Причем счётчик записей пропускает 6 пунктов. Подскажите пожалуйста как это устранить.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Все данные передаются в БД в виде строк (и числа тоже). Дата и время передается тоже текстовой строкой в общепринятом формате.
Posted by Alex33 (Участник № / Member № 5973) on :
В формате DATE_AND_TIME 11.04.2013 16:34:09 11.04.2013 16:34:16 11.04.2013 16:34:17 с 09 перескакивает на 16...
Перевёл тип данных в STRING (для ТМ), Текстовый ( для Access) 2013-04-11 16:50:25 2013-04-11 16:50:32 2013-04-11 16:50:33 Изменился только вид отображения, а скачет так-же
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Везде тип данных должен быть DATE_AND_TIME. Откуда Вы берете время для записи?
Posted by Alex33 (Участник № / Member № 5973) on :
из реального значения канала Time
Posted by Alex33 (Участник № / Member № 5973) on :
оттуда-же вывожу в текстовое поле на экран - там всё ОК.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Включайте трассировщик ODBC-драйвера и ловите ошибки записи в его протоколе. В нем можно увидеть, что реально передает МРВ и как это воспринимается ODBC-драйвером. Если Вы записываете 1 раз в секунду, есть ли уверенность, что команды на запись действтельно формируются с таким периодом и все SQL-запросы проходят через ODBC-драйвер?
Posted by Alex33 (Участник № / Member № 5973) on :
Спасибо, буду "ловить"...
Posted by Alex33 (Участник № / Member № 5973) on :
Поймал. Причиной сбоев записи в базу явился аргумент, берущий значение из @t_Seconds_2 (запись в базу корректна, если удаляю привязку к @t_Seconds_2). Через просмотр компонентов видно, что каналу присваивается значение в НЕХе. Пробовал и через аргумент канала CALL аргумент базы данных привязывать и напрямую к @t_Seconds_2 - результат - сбой записи в базе.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Создайте Float-канал, привязанный к системной переменной @t_Seconds, и с него передавайте значение секунд в аргумент SQL-канала.
Posted by Alex33 (Участник № / Member № 5973) on :
Не понял почему Float-канал, но все пошло. Спасибо.