Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вычисление в запросе на обновление сбоит. Почему?
 
 автор: e9953   (04.09.2007 в 11:47)   личное сообщение
 
 

Ситуация: есть запрос на обновление UPDATE (на одной таблице) в котором в Field1 надо записать
результат такого вот вычисления: Field2*Field3/Field4
При этом для некоторых записей ПОЧЕМУ-ТО результат вычисления сбрасывается в NULL. Интересно, что эти записи нормальные, деления на 0 нигде нет. А самое удивительное,
что при этом обычный SELECT выводит результат вычисления нормально.

Единственное отличие "проблемной" записи от других заключается в том, что в Field3 и Field4 значения - около миллиона, а у других записей - около тысячи.

Что присходит? Где искать выход?
Конфигурация: Access 2003, таблица "местная", т.е. не связанная, родная Access-овская...
Поля имеют тип Double
Плиз, хелп!

  Ответить  
 
 автор: e9953   (04.09.2007 в 21:18)   личное сообщение
 
 

В другом форуме подсказали шаманский прием: CDBL(Field2)*CDbl(Field3)/CDbl(Field4), т.е. еще раз отконверить все в двойное число, несмотря на то, что до этого все тоже было двойное число.
Ошибка появляется не всегда... напрмер русский Access2003+Windows XP русский же - ошибка есть
английский Access 2003+Windows 2000 русский - ошибки нет

  Ответить  
 
 автор: ГлазастыйМышь   (04.09.2007 в 22:17)   личное сообщение
 
 

а зачем хранить в таблице данные которые могут быть получены в любой момент путем простых вычислений (в запросе, форме, отчете)?

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList