This is topic Запись в БД Access in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/31/t/000241.html

Posted by Екатерина (Участник № / Member № 1769) on :
 
Здравствуйте!

Я выполняю учебный проект в Trace Mode 6 (base). Одна из задач - передача данных из 2 каналов в таблицу БД Acсess посредством SQL-запросов. Таблица создается благополучно, все необходимые столбцы на месте, создаются записи с заданным промежутком времени. Но проблема в том, что данные передаются нулевые.

Подскажите, пожалуйста, что может быть этому причиной.
Заранее большое спасибо.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Обратите внимание на тип данных передаваемых аргументов и на тип данных в таблице Access.
 
Posted by Екатерина (Участник № / Member № 1769) on :
 
Проверила. Тип передаваемых данных - REAL. В свойствах Access по умолчанию указан тип данных - вещественный.
Все равно числа не передаются.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Попробуйте изменить тип данных в Access. Дело именно в этом, по какой-то причине Access считает получаемые данные не совместимыми с данной "ячейкой". Если разобраться не удастся, то присылайте Ваш тестовый проект и БД на адрес техподдержки hotline2@adastra.ru в письме укажите название организации и Ваше ФИО. А так же опишите проблему.
 
Posted by Гусев Александр Петрович (Участник № / Member № 2148) on :
 
может дело в том что поля в access имеют тип double (вещественное двойной точности), а тип real соответствует типу float (вещественное одинарной точности). может в самом запросе ошибка или канал содержащий запрос вызывается только один раз и естественно передает только нули?
 
Posted by Екатерина (Участник № / Member № 1769) on :
 
Добрый вечер!

Очень хотелось бы получить ответ на мой вопрос. Письмо с проектом и БД я выслала 8 декабря, в пятницу.

Никакие манипуляции результата пока еще не дали [Неодобрение / Frown]

Благодарю всех откликнувшихся!
 
Posted by M@V (Участник № / Member № 1800) on :
 
Добрый вечер!
Канал float ТМ6.04 без проблем пишется в тип данных Числовой, действительное с фиксированным форматом БД ACCESS. Иначе ошибки либо в запросах, либо настройке аргументов (IN\OUT) и т.д. и т.п.
С уважением M@V.
 
Posted by Екатерина (Участник № / Member № 1769) on :
 
quote:
Отправитель / Originally posted by M@V:
Добрый вечер!
Канал float ТМ6.04 без проблем пишется в тип данных Числовой, действительное с фиксированным форматом БД ACCESS. Иначе ошибки либо в запросах, либо настройке аргументов (IN\OUT) и т.д. и т.п.
С уважением M@V.

Может, я что-то делаю не так?
1. Открываю Access 2003;
2. Сервис->Параметры;
3. В закладке Таблицы и Запросы выбираю Тип числого поля=действительное и Тип поля по умолчанию=числовой;
4. Запускаю профайлер;
5. Наблюдаю создание нулевых записей.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Уважаемая Екатерина!
Проанализировал Ваш проект.
Значения каналов, которые Вы пытаетесь занести в БД действительно имеют нулевые значения.
ГЭ "Ползунок", который Вы используете для задания значений не имеет связи с каналами, значения которых заносятся в БД.
Будьте внимательны.
 
Posted by Екатерина (Участник № / Member № 1769) on :
 
quote:
Отправитель / Originally posted by AdAstra Technical Support:
Уважаемая Екатерина!
Проанализировал Ваш проект.
Значения каналов, которые Вы пытаетесь занести в БД действительно имеют нулевые значения.
ГЭ "Ползунок", который Вы используете для задания значений не имеет связи с каналами, значения которых заносятся в БД.
Будьте внимательны.

Почему же не имеет?
С помощью ГЭ "Ползунок" задается значение для аргумента h0. Далее оно преобразуются программой Программа#1:2 в значение для аргумента "Действительное_отстояние_h". Это значение передается по каналу h.

В чем я неправа, поясните, пожалуйста.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Да, в программе высчитывается это значение и передаётся в АРГУМЕНТ канала вызова экрана "АРМ". Но передачи этого значения в канал "h" я не обнаружил.
Вы можете наблюдать значения каналов в реальном времени, для этого используйте "Просмотр компонентов" (Вид-->Компоненты)в Профайлере ТМ6.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Дальнейшую дискуссию по этому вопросу предлагаю вести по электронной почте.
Hotline2@adastra.ru
 
Posted by Екатерина (Участник № / Member № 1769) on :
 
Здравствуйте!

Большое Вам спасибо за указание на мою дилетантскую ошибку. Действительно, данные в канал h не передавались. После того, как я их соединила с входным значением канала h, в окне просмотра компонентов эти значения стали отображаться. Но в БД все равно передавались "0".
Каким-то чудом я обнаружила в электронном справочном руководстве упоминание о том, что в региональных установках Панели управления Windows в качестве разделителя целой и дробной части необходимо выбрать ".". После этого передача данных канала h прошла успешно! Ура!
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2