![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 21.07.2011
Сообщений: 13
|
![]()
Не могу выполнить операцию деления в DBGride. Если написать такой код то все ОК,
popravka:=(Table2Ostatoknanachmes.V alue+(Table2Pologenodeneg.Value-Table2Ostatoknakonmes.Value))/905 а если вместо 905 поставить допустим Table3nds.Value или переменную, то получается ошибка. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Причем здесь эта строка и та ошибка, что у вас показана? StrToFloat пытается преобразовать строку в real, а в самой строке данные которые нельзя преобразовать в такой формат. Пустая строка не преобразуется в том числе, возможно у вас точка десятичная введена, а ожидается запятая (или наоборот) или вообще буква введена. Используйте try ... except. Table3nds.Value - возможно тип не подходящий или NULL
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 05.09.2011 в 16:01. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 21.07.2011
Сообщений: 13
|
![]()
Ок. Убрал всю эту хрень с StrToFloat оставил так:
popravka:=(Table2Ostatoknanachmes.V alue+(Table2Pologenodeneg.Value-Table2Ostatoknakonmes.Value))/Table3NDS.Value; Один хрен ошибка. Тип данных в DB Desktop по полю NDS ставил Namber. Может Таблица 2 и Таблица 3 должны быть соединены как-то? Что-то я запутался. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
А по сообщению не видно, что деление на 0
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 21.07.2011
Сообщений: 13
|
![]()
Вставил значения в таблицу 3 - все равно не считает. Такая же ошибка. Получается не видит эти значения программа? А если добавлю еще одно поле допустим НДС в табл. 2 и заполню его, то программа запускается без проблем. Нужно использовать таблицу подстановки или что-то другое может? Не подскажете
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Аватар абсолютно прав.
я бы вообще такой вариант предложил: Код:
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 21.07.2011
Сообщений: 13
|
![]()
Написал код
Код:
________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Serge_Bliznykov; 06.09.2011 в 14:50. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
да ну, я думал, что изначально у Вас в Table3Tarif.Value находится ТЕКСТОВОЕ значение, которое не может быть нормально обработано функцией StrToFloat, т.к. вместо десятичной запятой стоит точка (или наоборот) - такие вещи бывают, когда тип поля выбран (ошибочно) как текстовый и таблица заполняется на компьютерах с разными региональными установками.
в Вашем же случае достаточно так: Код:
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
связь одной dbgrid c другой dbgrid | anabenne | БД в Delphi | 3 | 17.10.2011 10:15 |
Возможно DBgrid в DBgrid | zidane007_06 | БД в Delphi | 2 | 14.05.2011 00:35 |
Перемещение даннах из dbgrid в dbgrid | Hobbit_88 | БД в Delphi | 7 | 10.06.2009 13:33 |
перенос данных из DBGrid в DBGrid | KingSize | БД в Delphi | 17 | 24.04.2009 09:30 |