Ошибка, SQL сервер,FOX, формат чилса | |
---|---|
Пашок Автор Сообщений: 706 Дата регистрации: 14.11.2001 |
Ну вообще, ничего не понимаю. Такую гадость нашел.
nl_test_my = 45.1234 cl_zapros = " select ?nl_test_my from repair_orders_details_temp where repair_orders =?thisform.cl_zn_nomer " nl_error = SQLEXEC(np_connection, cl_zapros,"test" ) If nl_error < 0 sql_error() Endif brow в результате появляется курсор с данными, где 2 знака после запятой с конца исчезло. Такой вариант: 45,12 Ничего не понимаю, как это происходит ? ------------------ |
Re: Ошибка, SQL сервер,FOX, формат чилса | |
---|---|
Syberex Сообщений: 1432 Откуда: Кострома Дата регистрации: 19.01.2004 |
Цитата:Что то с этим Select-om не так Свойство из формы копируй в локальную переменную Параметр в списке полей? А смысл? Зачем тогда такое условие ... ------------------ |
Re: Ошибка, SQL сервер,FOX, формат чилса | |
---|---|
piva Сообщений: 18655 Откуда: Курган Дата регистрации: 24.03.2004 |
set decimal to 4
|
Re: Ошибка, SQL сервер,FOX, формат чилса | |
---|---|
Владимир Максимов Сообщений: 14100 Откуда: Москва Дата регистрации: 02.09.2000 |
В пару к SET DECIMALS надо добавить
SET FIXED ON ------------------ |
Re: Ошибка, SQL сервер,FOX, формат чилса | |
---|---|
piva Сообщений: 18655 Откуда: Курган Дата регистрации: 24.03.2004 |
Или вместо SPT запроса делать вьюху в определнием форматов данных
|
Re: Ошибка, SQL сервер,FOX, формат чилса | |
---|---|
Пашок Автор Сообщений: 706 Дата регистрации: 14.11.2001 |
Ну условие такое для теста. Но самое главное получается, когда я передавл курс с 4мя знаками после запятой, как параметр, то он откидывал 2 знака.
------------------ |
Re: Ошибка, SQL сервер,FOX, формат чилса | |
---|---|
Пашок Автор Сообщений: 706 Дата регистрации: 14.11.2001 |
Да, помогло set decimal to 4, но вообще, это конечно западло )))))
------------------ |
Re: Ошибка, SQL сервер,FOX, формат чилса | |
---|---|
piva Сообщений: 18655 Откуда: Курган Дата регистрации: 24.03.2004 |
2Пашок
Ну тогда вьюха с определением формата данных DBSetProp .... |
Совсем не понятно | |
---|---|
Пашок Автор Сообщений: 706 Дата регистрации: 14.11.2001 |
Вот еще хуже получилось, вообще получается неправильно считает.
SET DECIMALS TO 4 nl_aw = 1.9 nl_aw_rate = 2.675 nl_rate = 36.6843 cl_zapros = " select ROUND( ROUND(?nl_aw * ?nl_aw_rate * ?nl_rate,2) * 0.1 ,2) from currency " nl_error = SQLEXEC(np_connection, cl_zapros,"test" ) If nl_error < 0 sql_error() Endif brow сервер выдает 18,64 , а если правильно все умножить и округлить то получается 18,65 ,вот формула из Excel, как доказательство =ROUND(ROUND(1.9*2.675*36.6843;2) * 0.1;2) ------------------ |
Re: Совсем не понятно | |
---|---|
Перминов Игорь Сообщений: 1591 Откуда: Красная Орловка Дата регистрации: 16.09.2001 |
Вся фишка в ROUND(?nl_aw * ?nl_aw_rate * ?nl_rate, 2)
Поиграй от 2 до 4 ------------------ Без коментариев.. |
© 2000-2024 Fox Club  |