powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Баги Access (топик не закрыт, можно добавлять)
25 сообщений из 370, страница 10 из 15
Баги Access (топик не закрыт, можно добавлять)
    #36707911
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот мне встречалась в Аксессе 2003 несколько раз ситуация:

На форме есть число типа Double. Назовём это число Остаток. Например 5182.456

С субформе (на этой же форме) есть колонка чисел - тоже тип Double. Назовём его Расход. Например 5182.456

Видно что числа равны. Остаток - Расход должен быть НОЛЬ.

Но почему то вместо нуля появляется результат, например 0,14256899. И так далее.

Откуда этот хвостик?


Эту ситуацию на конкретном примере хотел обсудить на форуме.

Пока просто пишу, что такое было. И не смог понять почему.

Может кто встречался с такой проблемой?
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #36707923
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nebo,

проблема старше мира. Храните остатки в полях типа Currency (Денежный). Это специальный целый тип. А в полях с плавающей точкой (Double, Simple) не гарантируется точность.
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #36707962
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mds_world,

Понял. Не знал даже. А где про это поподробнее почитать? В хелпе?

Или это есть в FAQе?
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #36708027
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может лучше оставить Double?

Но при это указать фиксированную точность DecimalPlaces = 3.

У меня объём в кубических метрах.
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #36708034
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот отюда совет Бенедикта:

http://sql.ru/forum/actualthread.aspx?tid=335035&hl=currency#3099388
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #36708425
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
NeboИли это есть в FAQе?
Есть.
http://www.sql.ru/faq/faq_topic.aspx?fid=213
вопрос 19, ответ 1.
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #36708544
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч,

Спасибо!
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #36708603
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NeboА может лучше оставить Double?

Но при это указать фиксированную точность DecimalPlaces = 3.

У меня объём в кубических метрах.
Nebo, рассчитывать надо по заданному алгоритму. Это другой вопрос. Но хранить то, что потом требуется сравнивать, надо в типе данных с фиксированной точностью.

Ну, а DecimalPlaces или Round это уже вообще вопрос интерфейса пользователя.
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #36708643
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mds_world,


авторNebo, рассчитывать надо по заданному алгоритму. Это другой вопрос. Но хранить то, что потом требуется сравнивать, надо в типе данных с фиксированной точностью.

Короче всё таки Current ? Да ?
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #36708648
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь.

Currency (Денежный) ???
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #36708730
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NeboИзвиняюсь.

Currency (Денежный) ???Да. Но для промежуточных вычислений в Currency, действительно, может не хватить точности. Там надо Double. Или же, как писал Бенедикт в топике по вашей ссылке, договориваться о точности изначально. Тогда сравнение с образцом будет не на точное совпадение, а на попадание в заданый интервал.
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #36708798
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mds_world,

Понял. Спасибо.
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #36708858
Фотография CoolMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nebo, всю 10 страницу можно удалить :)
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #36708931
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CoolMind,

:)
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #36709001
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mds_world,

Прочитал в справке про Масштабируемое целое от
–922 337 203 685 477,5808 до 922 337 203 685 477,5807.

***
Денежные поля удобны для проведения расчетов с денежными значениями или для вычислений с фиксированной точкой, в которых требуется высокая точность. В полях этого типа сохраняются числа, содержащие до 15 знаков в целой части и до 4 знаков в дробной. В Visual Basic для этого типа используется символ описания @.
***

mds_world, а как в деталях происходит отнимание 5182.456 - 5182.456 ?

По какому алгоритму? Что здесь является целым? Часть числа слева до точки? Часть числа справа после точки. или всё это число умножается на 10000 (чтобы стать целым) перед любой операцией над этим числом.
Тут мне конечно непонятно. Так то вроде как 5182.456 дробное число.
Но объявляется масштабируемым целым (currency).
Я многие вещи просто не знаю.
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #36709119
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nebo,

Currency и есть целое. Но при отображении и операциях с ним десятичная точка смещена на 4 знака.
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #36709310
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mds_world,

Понял. Спасибо. Просветили насчёт Currency:)
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #36709312
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CoolMindNebo, всю 10 страницу можно удалить :)
+1
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #36709313
Фотография Ёжик`
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Источник данных для подчиненной формы exec dbo.MySp @Param1 работает,
а вот exec dbo.MySp @Param1, @Param2, @Param3 вышибает акс 2010 с фатальной ошибкой.
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #37190728
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Alexus12оригинал: http://allenbrowne.com/NoYesNo.html

кратко:
а) поле YesNo не способно принять значение NULL
б) в outer join запросе возможно получение NULL в таком поле, на что JET реагирует крахом

предлагаю включить в FAQ
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #37191092
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир СанычAlexus12оригинал: http://allenbrowne.com/NoYesNo.html

кратко:
а) поле YesNo не способно принять значение NULL
б) в outer join запросе возможно получение NULL в таком поле, на что JET реагирует крахом

предлагаю включить в FAQ

Протестировал. Попробовал и Right Join, и Left Join. Никакого аварийного завершения не заметил. По крайнем мере у меня А2003. Видимо та статья была про А2000. В той версии может быть это и был баг. :(
Если у автора есть "аварийная версия" запроса, то хотел бы посмотреть.
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #37191474
Фотография CoolMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
studieren, если бы мы разбирали каждый случай вылета запроса в каждой версии, на обычную работу у нас бы не оставалось времени. Может, ну их в баню, эти реализации, отходящие от стандарта?
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #37191492
Breathman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю, может это ситуация и обычная, но недавно столкнулся с тем, что после удаления формы остался ее модуль, и он постоянно выдавал ошибку. Попытка удалить его или текст приводили к краху. Создал пустую форму с тем же именем, выше-зашел, удалил модуль, удалил форму-все заработало.
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #37193571
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если поставить галочку "Синтаксис для SQL Server (ANSI 92)" и попробовать создать запрос вот с таким текстом, то Access не будет ругаться, но зато с крахом будет закрываться!
Код: plaintext
Execute Запрос1
По крайнем мере в А2003 и в А2007 так происходит всегда!

А вот в ADODB этот же текст будет нормально работать.
Код: plaintext
?CurrentProject.Connection.Execute("Execute Запрос1").Fields( 0 ).Value
...
Рейтинг: 0 / 0
Баги Access (топик не закрыт, можно добавлять)
    #37193633
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может и велосипед конечно. На двух разных машинах где стоит 2003 ACS (SP3) столкнулся с такой вещью.

Если (на рабочем столе к примеру) из контекстного меню создать новую базу MS office ACCESS - и в ней форму с модулем, то при последующем закрытии и открытии этого файла модуль формы уничтожается.

Однако если просто открыть MS ACCESS и создать новую базу, то все OK.
...
Рейтинг: 0 / 0
25 сообщений из 370, страница 10 из 15
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Баги Access (топик не закрыт, можно добавлять)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]