powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Интересная штука
11 сообщений из 11, страница 1 из 1
Интересная штука
    #32157138
Kriven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делал надысь отчет с вычисляемыми полями.
В ряд полей данные брал из комбиков к примеру: поле1. = Nz(список1.column(0),""), поле2= Nz(список2.column(0),""), поле3= поле1+поле2.
И вот проблемма начинается с полем3, почему то 1+2<>3, а равно 12?
Использовал для решения этой проблемки поле3= поле2/1+поле1/1 - складывает нормально, мне так и придется делить на единицу или есть другие варианты?
...
Рейтинг: 0 / 0
Интересная штука
    #32157144
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юзай функцию Val для поле1 и поле2
...
Рейтинг: 0 / 0
Интересная штука
    #32157146
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ха, так у тебя Nz() возвращает что-то непонятно какого типа. Вот аксес и считает это строкой. Соответственно не суммирует, а конкатенирует. Когда делишь на 1 - ну число у него в итоге получается, тогда он и складывать начинает.
Надо хотя бы так:
поле3 = CDbl(поле1) + CDbl(поле2)
...
Рейтинг: 0 / 0
Интересная штука
    #32157148
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На не явное преобразование типов понадеялся? Зря.

Лучше используй NZ(Number,0), а в свойствах поля выстави формат для нуля "", тогда не будешь гадать что выйдет при ""+"5" , "1"+"2"
...
Рейтинг: 0 / 0
Интересная штука
    #32157151
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
апаздал

(с) Лоха Позорного
...
Рейтинг: 0 / 0
Интересная штука
    #32157152
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
апаздал

(с) Лоха Позорного
...
Рейтинг: 0 / 0
Интересная штука
    #32157153
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Лоху

>поле3 = CDbl(поле1) + CDbl(поле2)
Чему молодежь учишь?

Cdbl(Значение=Null)
Будет Error 13. Type mismatch
...
Рейтинг: 0 / 0
Интересная штука
    #32157165
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хрен там, CDbl(Null) не случится, у него сначала Nz стоит (для поля1 и 2)
А вот CDbl("") выдаст ашипку 13
Так что надо
Код: plaintext
поле1 = Nz(список1.column( 0 ), 0 )

Но это ты уже написал, так что теперь я апаздал.
...
Рейтинг: 0 / 0
Интересная штука
    #32157194
Kriven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Итак получается:
поле1 = Nz(список1.column(0),0)
и в конце:
поле3 = CDbl(поле1) + CDbl(поле2) ?
...
Рейтинг: 0 / 0
Интересная штука
    #32157202
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, так и получается.
Или, если тебе в поле1/2 так надо пустоту видеть вместо нуля, то
Код: plaintext
1.
2.
поле1 = список1.column( 0 )
поле2 = список2.column( 0 )
поле3 = CDbl(Nz(поле1, 0 )) + CDbl(Nz(поле2, 0 )) 
...
Рейтинг: 0 / 0
Интересная штука
    #32157212
Kriven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое прибольшое...
<p><img border="0" src="filehttp://www.sql.ru/images/happy.gif" ></p>
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Интересная штука
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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